You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
(12) |
May
(82) |
Jun
(72) |
Jul
(39) |
Aug
(104) |
Sep
(61) |
Oct
(55) |
Nov
(101) |
Dec
(48) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(52) |
Feb
(67) |
Mar
(18) |
Apr
(16) |
May
(33) |
Jun
(12) |
Jul
(102) |
Aug
(168) |
Sep
(65) |
Oct
(60) |
Nov
(43) |
Dec
(121) |
2002 |
Jan
(69) |
Feb
(32) |
Mar
(90) |
Apr
(59) |
May
(45) |
Jun
(43) |
Jul
(33) |
Aug
(21) |
Sep
(11) |
Oct
(20) |
Nov
(26) |
Dec
(3) |
2003 |
Jan
(12) |
Feb
(18) |
Mar
(11) |
Apr
(11) |
May
(41) |
Jun
(76) |
Jul
(77) |
Aug
(15) |
Sep
(38) |
Oct
(56) |
Nov
(19) |
Dec
(39) |
2004 |
Jan
(17) |
Feb
(52) |
Mar
(36) |
Apr
(34) |
May
(48) |
Jun
(85) |
Jul
(38) |
Aug
(42) |
Sep
(41) |
Oct
(77) |
Nov
(27) |
Dec
(19) |
2005 |
Jan
(32) |
Feb
(35) |
Mar
(29) |
Apr
(8) |
May
(7) |
Jun
(31) |
Jul
(46) |
Aug
(93) |
Sep
(65) |
Oct
(85) |
Nov
(219) |
Dec
(47) |
2006 |
Jan
(170) |
Feb
(103) |
Mar
(49) |
Apr
(43) |
May
(45) |
Jun
(29) |
Jul
(77) |
Aug
(82) |
Sep
(43) |
Oct
(45) |
Nov
(26) |
Dec
(85) |
2007 |
Jan
(42) |
Feb
(48) |
Mar
(64) |
Apr
(31) |
May
(88) |
Jun
(53) |
Jul
(175) |
Aug
(212) |
Sep
(91) |
Oct
(103) |
Nov
(110) |
Dec
(5) |
2008 |
Jan
(20) |
Feb
(11) |
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(5) |
Sep
(3) |
Oct
(12) |
Nov
|
Dec
|
From: NIIBE Y. <gn...@m1...> - 2002-05-06 00:49:46
|
Changes from mainline. 2002-05-06 NIIBE Yutaka <gn...@m1...> * AGAINST-2.5.13: New file. * AGAINST-2.5.12: Removed. * Makefile: Version 2.5.13. * Makefile, drivers/block/rd.c, drivers/net/Config.in, drivers/pci/pci.ids: Incorporate changes in 2.5.13. Index: Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/Makefile,v retrieving revision 1.20 diff -u -3 -p -r1.20 Makefile --- Makefile 1 May 2002 06:18:01 -0000 1.20 +++ Makefile 6 May 2002 00:47:34 -0000 @@ -1,6 +1,6 @@ VERSION = 2 PATCHLEVEL = 5 -SUBLEVEL = 12 +SUBLEVEL = 13 EXTRAVERSION =-sh KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) @@ -141,7 +141,7 @@ DRIVERS-$(CONFIG_AGP) += drivers/char/ag DRIVERS-$(CONFIG_DRM) += drivers/char/drm/drm.o DRIVERS-$(CONFIG_NUBUS) += drivers/nubus/nubus.a DRIVERS-$(CONFIG_NET_FC) += drivers/net/fc/fc.o -DRIVERS-$(CONFIG_APPLETALK) += drivers/net/appletalk/appletalk.o +DRIVERS-$(CONFIG_DEV_APPLETALK) += drivers/net/appletalk/appletalk.o DRIVERS-$(CONFIG_TR) += drivers/net/tokenring/tr.o DRIVERS-$(CONFIG_WAN) += drivers/net/wan/wan.o DRIVERS-$(CONFIG_ARCNET) += drivers/net/arcnet/arcnetdrv.o Index: drivers/block/rd.c =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/block/rd.c,v retrieving revision 1.10 diff -u -3 -p -r1.10 rd.c --- drivers/block/rd.c 1 May 2002 06:18:01 -0000 1.10 +++ drivers/block/rd.c 6 May 2002 00:47:34 -0000 @@ -73,8 +73,6 @@ int initrd_below_start_ok; */ static unsigned long rd_length[NUM_RAMDISKS]; /* Size of RAM disks in bytes */ -static int rd_hardsec[NUM_RAMDISKS]; /* Size of real blocks in bytes */ -static int rd_blocksizes[NUM_RAMDISKS]; /* Size of 1024 byte blocks :) */ static int rd_kbsize[NUM_RAMDISKS]; /* Size in blocks of 1024 bytes */ static devfs_handle_t devfs_handle; static struct block_device *rd_bdev[NUM_RAMDISKS];/* Protected device data */ @@ -430,8 +428,6 @@ static int __init rd_init (void) for (i = 0; i < NUM_RAMDISKS; i++) { /* rd_size is given in kB */ rd_length[i] = rd_size << 10; - rd_hardsec[i] = rd_blocksize; - rd_blocksizes[i] = rd_blocksize; rd_kbsize[i] = rd_size; } devfs_handle = devfs_mk_dir (NULL, "rd", NULL); @@ -451,7 +447,6 @@ static int __init rd_init (void) INITRD_MINOR, S_IFBLK | S_IRUSR, &rd_bd_op, NULL); #endif - blksize_size[MAJOR_NR] = rd_blocksizes; /* Avoid set_blocksize() check */ blk_size[MAJOR_NR] = rd_kbsize; /* Size of the RAM disk in kB */ /* rd_size is given in kB */ Index: drivers/net/Config.in =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/net/Config.in,v retrieving revision 1.8 diff -u -3 -p -r1.8 Config.in --- drivers/net/Config.in 5 Apr 2002 04:45:00 -0000 1.8 +++ drivers/net/Config.in 6 May 2002 00:47:34 -0000 @@ -3,7 +3,6 @@ # source drivers/net/arcnet/Config.in -source drivers/net/appletalk/Config.in tristate 'Dummy net driver support' CONFIG_DUMMY tristate 'Bonding driver support' CONFIG_BONDING Index: drivers/pci/pci.ids =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/pci/pci.ids,v retrieving revision 1.10 diff -u -3 -p -r1.10 pci.ids --- drivers/pci/pci.ids 1 May 2002 06:18:01 -0000 1.10 +++ drivers/pci/pci.ids 6 May 2002 00:47:34 -0000 @@ -2927,10 +2927,12 @@ 0105 Cyclom_8Y above first megabyte 0200 Cyclom_Z below first megabyte 0201 Cyclom_Z above first megabyte - 0300 PC300 RX 2 - 0301 PC300 RX 1 - 0310 PC300 TE 2 - 0311 PC300 TE 1 + 0300 PC300/RSV or /X21 (2 ports) + 0301 PC300/RSV or /X21 (1 ports) + 0310 PC300/TE (2 ports) + 0311 PC300/TE (1 port) + 0320 PC300/TE-M (2 ports) + 0321 PC300/TE-M (1 port) 120f Essential Communications 0001 Roadrunner serial HIPPI 1210 Hyperparallel Technologies |
From: M. R. B. <mr...@0x...> - 2002-05-04 20:40:19
|
* Fabio Giovagnini <fg...@ti...> on Sat, May 04, 2002: > Thanks for support. >=20 Search the mailing list archives. Marcus |
From: Fabio G. <fg...@ti...> - 2002-05-04 14:17:49
|
Thanks for support. Regards |
From: Fabio G. <fg...@ti...> - 2002-05-03 16:34:21
|
Hi everybody, when I try to compile my testcpp application statically I obtain the following. Does anyone know why? Could it be because I compiled glibc for target without --enable-static-nss option? Thanks sh3-linux-g++ -static test.cpp -o testcpp /usr/local/cross-sh3/lib/gcc-lib/sh3-linux/2.97/../../../../sh3-linux/bin/ld: cannot find -lnss_files collect2: ld returned 1 exit status make: *** [all] Error 1 |
From: Fabio G. <fg...@ti...> - 2002-05-02 06:47:04
|
I think you can use sh-ipl+g and gdb, and I think you can set the breakpoint using the addresses you can read in System.map On Tuesday 30 April 2002 03:04, hzeng wrote: > hello, > > I want to debug my kernel and I don't know which tool I should use. I > search the mailing list and find two tools that have been prompted many > times. They are gdb-sh-stub and sh-ipl+gdb-stub. I want to debug the kernel > step by step from remote. Which tool I should use? Do I need add some > special patch to the target kernel when I use the debug tools?Has there a > specific man page about these tools? > Please give some advise. Thank you very much! > Hzeng > |
From: NIIBE Y. <gn...@m1...> - 2002-05-01 06:17:28
|
Changes from mainline. 2002-05-01 NIIBE Yutaka <gn...@m1...> * AGAINST-2.5.12: New file. * AGAINST-2.5.11: Removed. * Makefile: Version 2.5.12. * arch/sh/mm/init.c, drivers/block/rd.c, drivers/char/Makefile, drivers/pci/pci.ids, fs/nfs/inode.c, mm/memory.c: Incorporate changes in 2.5.12. Index: Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/Makefile,v retrieving revision 1.19 diff -u -3 -p -r1.19 Makefile --- Makefile 1 May 2002 01:10:47 -0000 1.19 +++ Makefile 1 May 2002 06:15:08 -0000 @@ -1,6 +1,6 @@ VERSION = 2 PATCHLEVEL = 5 -SUBLEVEL = 11 +SUBLEVEL = 12 EXTRAVERSION =-sh KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) Index: arch/sh/mm/init.c =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/mm/init.c,v retrieving revision 1.2 diff -u -3 -p -r1.2 init.c --- arch/sh/mm/init.c 12 Apr 2002 04:26:28 -0000 1.2 +++ arch/sh/mm/init.c 1 May 2002 06:15:08 -0000 @@ -74,7 +74,7 @@ void show_mem(void) printk("%d reserved pages\n",reserved); printk("%d pages shared\n",shared); printk("%d pages swap cached\n",cached); - show_buffers(); + printk("%ld buffermem pages\n", nr_buffermem_pages()); } /* References to section boundaries */ Index: drivers/block/rd.c =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/block/rd.c,v retrieving revision 1.9 diff -u -3 -p -r1.9 rd.c --- drivers/block/rd.c 1 May 2002 01:10:47 -0000 1.9 +++ drivers/block/rd.c 1 May 2002 06:15:08 -0000 @@ -106,19 +106,19 @@ int rd_blocksize = BLOCK_SIZE; /* bloc */ static int ramdisk_readpage(struct file *file, struct page * page) { - if (!Page_Uptodate(page)) { + if (!PageUptodate(page)) { memset(kmap(page), 0, PAGE_CACHE_SIZE); kunmap(page); flush_dcache_page(page); SetPageUptodate(page); } - UnlockPage(page); + unlock_page(page); return 0; } static int ramdisk_prepare_write(struct file *file, struct page *page, unsigned offset, unsigned to) { - if (!Page_Uptodate(page)) { + if (!PageUptodate(page)) { void *addr = page_address(page); memset(addr, 0, PAGE_CACHE_SIZE); flush_dcache_page(page); @@ -173,7 +173,7 @@ static int rd_blkdev_pagecache_IO(int rw goto out; err = 0; - if (!Page_Uptodate(page)) { + if (!PageUptodate(page)) { memset(kmap(page), 0, PAGE_CACHE_SIZE); kunmap(page); SetPageUptodate(page); @@ -206,7 +206,7 @@ static int rd_blkdev_pagecache_IO(int rw SetPageDirty(page); } if (unlock) - UnlockPage(page); + unlock_page(page); __free_page(page); } while (size); Index: drivers/char/Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/char/Makefile,v retrieving revision 1.6 diff -u -3 -p -r1.6 Makefile --- drivers/char/Makefile 1 May 2002 01:10:47 -0000 1.6 +++ drivers/char/Makefile 1 May 2002 06:15:08 -0000 @@ -16,7 +16,8 @@ obj-y += mem.o tty_io.o n_tty.o tty_ioc export-objs := busmouse.o console.o keyboard.o sysrq.o \ misc.o pty.o random.o selection.o serial.o \ - sonypi.o tty_io.o tty_ioctl.o generic_serial.o rtc.o + sonypi.o tty_io.o tty_ioctl.o generic_serial.o rtc.o \ + ip2main.o mod-subdirs := ftape drm pcmcia Index: drivers/pci/pci.ids =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/pci/pci.ids,v retrieving revision 1.9 diff -u -3 -p -r1.9 pci.ids --- drivers/pci/pci.ids 1 May 2002 00:36:45 -0000 1.9 +++ drivers/pci/pci.ids 1 May 2002 06:15:08 -0000 @@ -5100,9 +5100,11 @@ 244b 82820 820 (Camino 2) Chipset IDE U100 244c 82820 820 (Camino 2) Chipset ISA Bridge (ICH2-M) 244e 82820 820 (Camino 2) Chipset PCI + 245b 82801E C-ICH IDE 2485 AC'97 Audio Controller 248a 82801CAM ICH3-M IDE 248b 82801CA ICH3 IDE + 24cb 82801DB ICH4 IDE 2500 82820 820 (Camino) Chipset Host Bridge (MCH) 1043 801c P3C-2000 system chipset 2501 82820 820 (Camino) Chipset Host Bridge (MCH) Index: fs/nfs/inode.c =================================================================== RCS file: /cvsroot/linuxsh/linux/fs/nfs/inode.c,v retrieving revision 1.4 diff -u -3 -p -r1.4 inode.c --- fs/nfs/inode.c 10 Apr 2002 11:09:39 -0000 1.4 +++ fs/nfs/inode.c 1 May 2002 06:15:08 -0000 @@ -751,7 +751,8 @@ printk("nfs_notify_change: revalidate fa if (!S_ISREG(inode->i_mode)) attr->ia_valid &= ~ATTR_SIZE; - filemap_fdatasync(inode->i_mapping); + filemap_fdatawait(inode->i_mapping); + filemap_fdatawrite(inode->i_mapping); error = nfs_wb_all(inode); filemap_fdatawait(inode->i_mapping); if (error) Index: mm/memory.c =================================================================== RCS file: /cvsroot/linuxsh/linux/mm/memory.c,v retrieving revision 1.11 diff -u -3 -p -r1.11 memory.c --- mm/memory.c 1 May 2002 01:10:47 -0000 1.11 +++ mm/memory.c 1 May 2002 06:15:08 -0000 @@ -653,7 +653,7 @@ void unmap_kiobuf (struct kiobuf *iobuf) map = iobuf->maplist[i]; if (map) { if (iobuf->locked) - UnlockPage(map); + unlock_page(map); /* FIXME: cache flush missing for rw==READ * FIXME: call the correct reference counting function */ @@ -698,11 +698,11 @@ int lock_kiovec(int nr, struct kiobuf *i if (!page) continue; - if (TryLockPage(page)) { + if (TestSetPageLocked(page)) { while (j--) { struct page *tmp = *--ppage; if (tmp) - UnlockPage(tmp); + unlock_page(tmp); } goto retry; } @@ -738,7 +738,7 @@ int lock_kiovec(int nr, struct kiobuf *i return -EINVAL; /* Try again... */ - wait_on_page(page); + wait_on_page_locked(page); } if (++repeat < 16) @@ -768,7 +768,7 @@ int unlock_kiovec(int nr, struct kiobuf page = *ppage; if (!page) continue; - UnlockPage(page); + unlock_page(page); } } return 0; @@ -984,7 +984,7 @@ static int do_wp_page(struct mm_struct * if (!VALID_PAGE(old_page)) goto bad_wp_page; - if (!TryLockPage(old_page)) { + if (!TestSetPageLocked(old_page)) { int reuse = can_share_swap_page(old_page); unlock_page(old_page); if (reuse) { |
From: NIIBE Y. <gn...@m1...> - 2002-05-01 01:08:14
|
Changes from mainline. NOTE: Video driver authors, there're changes in mainline. Please change the one in CVS if needed. 2002-04-30 NIIBE Yutaka <gn...@m1...> Follow up to 2.5.11. * arch/sh/mm/clear_page.S: Remove SYMBOL_NAME. * arch/sh/kernel/head.S, arch/sh/kernel/entry.S, arch/sh/lib/memmove.S: Likewise. * AGAINST-2.5.11: New file. * AGAINST-2.5.10: Removed. * Makefile: Version 2.5.11. * Documentation/cachetlb.txt: Incorporate changes in 2.5.11. * arch/sh/defconfig, drivers/block/rd.c, drivers/char/Config.help, drivers/char/Makefile, drivers/video/epson1355fb.c, drivers/video/hitfb.c, drivers/video/pvr2fb.c, include/asm-sh/ide.h, mm/memory.c: Likewise. Index: Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/Makefile,v retrieving revision 1.18 diff -u -3 -p -r1.18 Makefile --- Makefile 1 May 2002 00:36:45 -0000 1.18 +++ Makefile 1 May 2002 01:00:28 -0000 @@ -1,6 +1,6 @@ VERSION = 2 PATCHLEVEL = 5 -SUBLEVEL = 10 +SUBLEVEL = 11 EXTRAVERSION =-sh KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) Index: Documentation/cachetlb.txt =================================================================== RCS file: /cvsroot/linuxsh/linux/Documentation/cachetlb.txt,v retrieving revision 1.4 diff -u -3 -p -r1.4 cachetlb.txt --- Documentation/cachetlb.txt 22 Mar 2002 00:59:15 -0000 1.4 +++ Documentation/cachetlb.txt 1 May 2002 01:00:28 -0000 @@ -49,6 +49,9 @@ changes occur: page table operations such as what happens during fork, and exec. + Platform developers note that generic code will always + invoke this interface without mm->page_table_lock held. + 3) void flush_tlb_range(struct vm_area_struct *vma, unsigned long start, unsigned long end) @@ -69,6 +72,9 @@ changes occur: call flush_tlb_page (see below) for each entry which may be modified. + Platform developers note that generic code will always + invoke this interface with mm->page_table_lock held. + 4) void flush_tlb_page(struct vm_area_struct *vma, unsigned long page) This time we need to remove the PAGE_SIZE sized translation @@ -86,6 +92,9 @@ changes occur: 'vma->vm_mm' for virtual address 'page'. This is used primarily during fault processing. + + Platform developers note that generic code will always + invoke this interface with mm->page_table_lock held. 5) void flush_tlb_pgtables(struct mm_struct *mm, unsigned long start, unsigned long end) Index: arch/sh/defconfig =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/defconfig,v retrieving revision 1.1.1.1 diff -u -3 -p -r1.1.1.1 defconfig --- arch/sh/defconfig 15 Oct 2001 20:44:46 -0000 1.1.1.1 +++ arch/sh/defconfig 1 May 2002 01:00:28 -0000 @@ -165,7 +165,7 @@ CONFIG_SERIAL_CONSOLE=y # CONFIG_JOLIET is not set # CONFIG_MINIX_FS is not set # CONFIG_NTFS_FS is not set -# CONFIG_NTFS_RW is not set +# CONFIG_NTFS_DEBUG is not set # CONFIG_HPFS_FS is not set CONFIG_PROC_FS=y # CONFIG_DEVFS_FS is not set Index: arch/sh/kernel/entry.S =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/kernel/entry.S,v retrieving revision 1.13 diff -u -3 -p -r1.13 entry.S --- arch/sh/kernel/entry.S 12 Apr 2002 04:26:28 -0000 1.13 +++ arch/sh/kernel/entry.S 1 May 2002 01:00:28 -0000 @@ -182,8 +182,8 @@ call_dpf: .align 2 1: .long MMU_TEA -2: .long SYMBOL_NAME(__do_page_fault) -3: .long SYMBOL_NAME(do_page_fault) +2: .long __do_page_fault +3: .long do_page_fault .align 2 address_error_load: @@ -205,7 +205,7 @@ call_dae: .align 2 1: .long MMU_TEA -2: .long SYMBOL_NAME(do_address_error) +2: .long do_address_error #if defined(CONFIG_SH_STANDARD_BIOS) .align 2 @@ -245,7 +245,7 @@ debug_kernel: ldc k1, ssr .align 2 1: .long 0x300000f0 -2: .long SYMBOL_NAME(gdb_vbr_vector) +2: .long gdb_vbr_vector #endif .align 2 @@ -272,8 +272,8 @@ error: ! .align 2 -1: .long SYMBOL_NAME(break_point_trap_software) -2: .long SYMBOL_NAME(do_exception_error) +1: .long break_point_trap_software +2: .long do_exception_error .align 2 ret_from_irq: @@ -328,8 +328,8 @@ work_resched: tst #_TIF_NEED_RESCHED, r0 .align 2 -1: .long SYMBOL_NAME(schedule) -2: .long SYMBOL_NAME(do_signal) +1: .long schedule +2: .long do_signal .align 2 syscall_exit_work: @@ -507,8 +507,8 @@ restore_all: .align 2 1: .long TRA 2: .long NR_syscalls -3: .long SYMBOL_NAME(sys_call_table) -4: .long SYMBOL_NAME(do_syscall_trace) +3: .long sys_call_table +4: .long do_syscall_trace 7: .long 0x30000000 8: .long 0x00008000 ! FD 9: .long 0xffff7f0f ! ~(IMASK+FD) @@ -622,7 +622,7 @@ handle_exception: .align 2 2: .long 0x000000f0 ! FD=0, IMASK=15 3: .long 0xcfffffff ! RB=0, BL=0 -4: .long SYMBOL_NAME(exception_handling_table) +4: .long exception_handling_table .align 2 none: @@ -641,7 +641,7 @@ ENTRY(exception_handling_table) .long address_error_load .long address_error_store #if defined(__SH4__) - .long SYMBOL_NAME(do_fpu_error) + .long do_fpu_error #else .long error ! fpu_exception #endif @@ -655,93 +655,93 @@ ENTRY(user_break_point_trap) .long break_point_trap ENTRY(interrupt_table) ! external hardware - .long SYMBOL_NAME(do_IRQ) ! 0000 - .long SYMBOL_NAME(do_IRQ) ! 0001 - .long SYMBOL_NAME(do_IRQ) ! 0010 - .long SYMBOL_NAME(do_IRQ) ! 0011 - .long SYMBOL_NAME(do_IRQ) ! 0100 - .long SYMBOL_NAME(do_IRQ) ! 0101 - .long SYMBOL_NAME(do_IRQ) ! 0110 - .long SYMBOL_NAME(do_IRQ) ! 0111 - .long SYMBOL_NAME(do_IRQ) ! 1000 - .long SYMBOL_NAME(do_IRQ) ! 1001 - .long SYMBOL_NAME(do_IRQ) ! 1010 - .long SYMBOL_NAME(do_IRQ) ! 1011 - .long SYMBOL_NAME(do_IRQ) ! 1100 - .long SYMBOL_NAME(do_IRQ) ! 1101 - .long SYMBOL_NAME(do_IRQ) ! 1110 + .long do_IRQ ! 0000 + .long do_IRQ ! 0001 + .long do_IRQ ! 0010 + .long do_IRQ ! 0011 + .long do_IRQ ! 0100 + .long do_IRQ ! 0101 + .long do_IRQ ! 0110 + .long do_IRQ ! 0111 + .long do_IRQ ! 1000 + .long do_IRQ ! 1001 + .long do_IRQ ! 1010 + .long do_IRQ ! 1011 + .long do_IRQ ! 1100 + .long do_IRQ ! 1101 + .long do_IRQ ! 1110 .long error ! Internal hardware - .long SYMBOL_NAME(do_IRQ) ! TMU0 tuni0 - .long SYMBOL_NAME(do_IRQ) ! TMU1 tuni1 - .long SYMBOL_NAME(do_IRQ) ! TMU2 tuni2 - .long SYMBOL_NAME(do_IRQ) ! ticpi2 - .long SYMBOL_NAME(do_IRQ) ! RTC ati - .long SYMBOL_NAME(do_IRQ) ! pri - .long SYMBOL_NAME(do_IRQ) ! cui - .long SYMBOL_NAME(do_IRQ) ! SCI eri - .long SYMBOL_NAME(do_IRQ) ! rxi - .long SYMBOL_NAME(do_IRQ) ! txi - .long SYMBOL_NAME(do_IRQ) ! tei - .long SYMBOL_NAME(do_IRQ) ! WDT iti - .long SYMBOL_NAME(do_IRQ) ! REF rcmi - .long SYMBOL_NAME(do_IRQ) ! rovi - .long SYMBOL_NAME(do_IRQ) - .long SYMBOL_NAME(do_IRQ) + .long do_IRQ ! TMU0 tuni0 + .long do_IRQ ! TMU1 tuni1 + .long do_IRQ ! TMU2 tuni2 + .long do_IRQ ! ticpi2 + .long do_IRQ ! RTC ati + .long do_IRQ ! pri + .long do_IRQ ! cui + .long do_IRQ ! SCI eri + .long do_IRQ ! rxi + .long do_IRQ ! txi + .long do_IRQ ! tei + .long do_IRQ ! WDT iti + .long do_IRQ ! REF rcmi + .long do_IRQ ! rovi + .long do_IRQ + .long do_IRQ #if defined(CONFIG_CPU_SUBTYPE_SH7707) || defined(CONFIG_CPU_SUBTYPE_SH7709) - .long SYMBOL_NAME(do_IRQ) ! 32 IRQ irq0 - .long SYMBOL_NAME(do_IRQ) ! 33 irq1 - .long SYMBOL_NAME(do_IRQ) ! 34 irq2 - .long SYMBOL_NAME(do_IRQ) ! 35 irq3 - .long SYMBOL_NAME(do_IRQ) ! 36 irq4 - .long SYMBOL_NAME(do_IRQ) ! 37 irq5 - .long SYMBOL_NAME(do_IRQ) ! 38 - .long SYMBOL_NAME(do_IRQ) ! 39 - .long SYMBOL_NAME(do_IRQ) ! 40 PINT pint0-7 - .long SYMBOL_NAME(do_IRQ) ! 41 pint8-15 - .long SYMBOL_NAME(do_IRQ) ! 42 - .long SYMBOL_NAME(do_IRQ) ! 43 - .long SYMBOL_NAME(do_IRQ) ! 44 - .long SYMBOL_NAME(do_IRQ) ! 45 - .long SYMBOL_NAME(do_IRQ) ! 46 - .long SYMBOL_NAME(do_IRQ) ! 47 - .long SYMBOL_NAME(do_IRQ) ! 48 DMAC dei0 - .long SYMBOL_NAME(do_IRQ) ! 49 dei1 - .long SYMBOL_NAME(do_IRQ) ! 50 dei2 - .long SYMBOL_NAME(do_IRQ) ! 51 dei3 - .long SYMBOL_NAME(do_IRQ) ! 52 IrDA eri1 - .long SYMBOL_NAME(do_IRQ) ! 53 rxi1 - .long SYMBOL_NAME(do_IRQ) ! 54 bri1 - .long SYMBOL_NAME(do_IRQ) ! 55 txi1 - .long SYMBOL_NAME(do_IRQ) ! 56 SCIF eri2 - .long SYMBOL_NAME(do_IRQ) ! 57 rxi2 - .long SYMBOL_NAME(do_IRQ) ! 58 bri2 - .long SYMBOL_NAME(do_IRQ) ! 59 txi2 - .long SYMBOL_NAME(do_IRQ) ! 60 ADC adi + .long do_IRQ ! 32 IRQ irq0 + .long do_IRQ ! 33 irq1 + .long do_IRQ ! 34 irq2 + .long do_IRQ ! 35 irq3 + .long do_IRQ ! 36 irq4 + .long do_IRQ ! 37 irq5 + .long do_IRQ ! 38 + .long do_IRQ ! 39 + .long do_IRQ ! 40 PINT pint0-7 + .long do_IRQ ! 41 pint8-15 + .long do_IRQ ! 42 + .long do_IRQ ! 43 + .long do_IRQ ! 44 + .long do_IRQ ! 45 + .long do_IRQ ! 46 + .long do_IRQ ! 47 + .long do_IRQ ! 48 DMAC dei0 + .long do_IRQ ! 49 dei1 + .long do_IRQ ! 50 dei2 + .long do_IRQ ! 51 dei3 + .long do_IRQ ! 52 IrDA eri1 + .long do_IRQ ! 53 rxi1 + .long do_IRQ ! 54 bri1 + .long do_IRQ ! 55 txi1 + .long do_IRQ ! 56 SCIF eri2 + .long do_IRQ ! 57 rxi2 + .long do_IRQ ! 58 bri2 + .long do_IRQ ! 59 txi2 + .long do_IRQ ! 60 ADC adi #if defined(CONFIG_CPU_SUBTYPE_SH7707) - .long SYMBOL_NAME(do_IRQ) ! 61 LCDC lcdi - .long SYMBOL_NAME(do_IRQ) ! 62 PCC pcc0i - .long SYMBOL_NAME(do_IRQ) ! 63 pcc1i + .long do_IRQ ! 61 LCDC lcdi + .long do_IRQ ! 62 PCC pcc0i + .long do_IRQ ! 63 pcc1i #endif #elif defined(__SH4__) - .long SYMBOL_NAME(do_IRQ) ! 32 Hitachi UDI - .long SYMBOL_NAME(do_IRQ) ! 33 GPIO - .long SYMBOL_NAME(do_IRQ) ! 34 DMAC dmte0 - .long SYMBOL_NAME(do_IRQ) ! 35 dmte1 - .long SYMBOL_NAME(do_IRQ) ! 36 dmte2 - .long SYMBOL_NAME(do_IRQ) ! 37 dmte3 - .long SYMBOL_NAME(do_IRQ) ! 38 dmae + .long do_IRQ ! 32 Hitachi UDI + .long do_IRQ ! 33 GPIO + .long do_IRQ ! 34 DMAC dmte0 + .long do_IRQ ! 35 dmte1 + .long do_IRQ ! 36 dmte2 + .long do_IRQ ! 37 dmte3 + .long do_IRQ ! 38 dmae .long error ! 39 - .long SYMBOL_NAME(do_IRQ) ! 40 SCIF eri - .long SYMBOL_NAME(do_IRQ) ! 41 rxi - .long SYMBOL_NAME(do_IRQ) ! 42 bri - .long SYMBOL_NAME(do_IRQ) ! 43 txi + .long do_IRQ ! 40 SCIF eri + .long do_IRQ ! 41 rxi + .long do_IRQ ! 42 bri + .long do_IRQ ! 43 txi .long error ! 44 .long error ! 45 .long error ! 46 .long error ! 47 - .long SYMBOL_NAME(do_fpu_state_restore) ! 48 - .long SYMBOL_NAME(do_fpu_state_restore) ! 49 + .long do_fpu_state_restore ! 48 + .long do_fpu_state_restore ! 49 #endif #if defined(CONFIG_CPU_SUBTYPE_SH7751) .long error @@ -758,14 +758,14 @@ ENTRY(interrupt_table) .long error .long error .long error - .long SYMBOL_NAME(do_IRQ) ! PCI serr - .long SYMBOL_NAME(do_IRQ) ! dma3 - .long SYMBOL_NAME(do_IRQ) ! dma2 - .long SYMBOL_NAME(do_IRQ) ! dma1 - .long SYMBOL_NAME(do_IRQ) ! dma0 - .long SYMBOL_NAME(do_IRQ) ! pwon - .long SYMBOL_NAME(do_IRQ) ! pwdwn - .long SYMBOL_NAME(do_IRQ) ! err + .long do_IRQ ! PCI serr + .long do_IRQ ! dma3 + .long do_IRQ ! dma2 + .long do_IRQ ! dma1 + .long do_IRQ ! dma0 + .long do_IRQ ! pwon + .long do_IRQ ! pwdwn + .long do_IRQ ! err #elif defined(CONFIG_CPU_SUBTYPE_ST40STB1) .long error ! 50 0x840 .long error ! 51 0x860 @@ -781,25 +781,25 @@ ENTRY(interrupt_table) .long error ! 61 0x9a0 .long error ! 62 0x9c0 .long error ! 63 0x9e0 - .long SYMBOL_NAME(do_IRQ) ! 64 0xa00 PCI serr - .long SYMBOL_NAME(do_IRQ) ! 65 0xa20 err - .long SYMBOL_NAME(do_IRQ) ! 66 0xa40 ad - .long SYMBOL_NAME(do_IRQ) ! 67 0xa60 pwr_dwn + .long do_IRQ ! 64 0xa00 PCI serr + .long do_IRQ ! 65 0xa20 err + .long do_IRQ ! 66 0xa40 ad + .long do_IRQ ! 67 0xa60 pwr_dwn .long error ! 68 0xa80 .long error ! 69 0xaa0 .long error ! 70 0xac0 .long error ! 71 0xae0 - .long SYMBOL_NAME(do_IRQ) ! 72 0xb00 DMA INT0 - .long SYMBOL_NAME(do_IRQ) ! 73 0xb20 INT1 - .long SYMBOL_NAME(do_IRQ) ! 74 0xb40 INT2 - .long SYMBOL_NAME(do_IRQ) ! 75 0xb60 INT3 - .long SYMBOL_NAME(do_IRQ) ! 76 0xb80 INT4 + .long do_IRQ ! 72 0xb00 DMA INT0 + .long do_IRQ ! 73 0xb20 INT1 + .long do_IRQ ! 74 0xb40 INT2 + .long do_IRQ ! 75 0xb60 INT3 + .long do_IRQ ! 76 0xb80 INT4 .long error ! 77 0xba0 - .long SYMBOL_NAME(do_IRQ) ! 78 0xbc0 DMA ERR + .long do_IRQ ! 78 0xbc0 DMA ERR .long error ! 79 0xbe0 - .long SYMBOL_NAME(do_IRQ) ! 80 0xc00 PIO0 - .long SYMBOL_NAME(do_IRQ) ! 81 0xc20 PIO1 - .long SYMBOL_NAME(do_IRQ) ! 82 0xc40 PIO2 + .long do_IRQ ! 80 0xc00 PIO0 + .long do_IRQ ! 81 0xc20 PIO1 + .long do_IRQ ! 82 0xc40 PIO2 .long error ! 83 0xc60 .long error ! 84 0xc80 .long error ! 85 0xca0 @@ -829,7 +829,7 @@ ENTRY(interrupt_table) .long error ! 109 0xfa0 .long error ! 110 0xfc0 .long error ! 111 0xfe0 - .long SYMBOL_NAME(do_IRQ) ! 112 0x1000 Mailbox + .long do_IRQ ! 112 0x1000 Mailbox .long error ! 113 0x1020 .long error ! 114 0x1040 .long error ! 115 0x1060 @@ -857,259 +857,259 @@ ENTRY(interrupt_table) .long error ! 137 0x1320 .long error ! 138 0x1340 .long error ! 139 0x1360 - .long SYMBOL_NAME(do_IRQ) ! 140 0x1380 EMPI INV_ADDR + .long do_IRQ ! 140 0x1380 EMPI INV_ADDR .long error ! 141 0x13a0 .long error ! 142 0x13c0 .long error ! 143 0x13e0 #endif ENTRY(sys_call_table) - .long SYMBOL_NAME(sys_ni_syscall) /* 0 - old "setup()" system call*/ - .long SYMBOL_NAME(sys_exit) - .long SYMBOL_NAME(sys_fork) - .long SYMBOL_NAME(sys_read) - .long SYMBOL_NAME(sys_write) - .long SYMBOL_NAME(sys_open) /* 5 */ - .long SYMBOL_NAME(sys_close) - .long SYMBOL_NAME(sys_waitpid) - .long SYMBOL_NAME(sys_creat) - .long SYMBOL_NAME(sys_link) - .long SYMBOL_NAME(sys_unlink) /* 10 */ - .long SYMBOL_NAME(sys_execve) - .long SYMBOL_NAME(sys_chdir) - .long SYMBOL_NAME(sys_time) - .long SYMBOL_NAME(sys_mknod) - .long SYMBOL_NAME(sys_chmod) /* 15 */ - .long SYMBOL_NAME(sys_lchown16) - .long SYMBOL_NAME(sys_ni_syscall) /* old break syscall holder */ - .long SYMBOL_NAME(sys_stat) - .long SYMBOL_NAME(sys_lseek) - .long SYMBOL_NAME(sys_getpid) /* 20 */ - .long SYMBOL_NAME(sys_mount) - .long SYMBOL_NAME(sys_oldumount) - .long SYMBOL_NAME(sys_setuid16) - .long SYMBOL_NAME(sys_getuid16) - .long SYMBOL_NAME(sys_stime) /* 25 */ - .long SYMBOL_NAME(sys_ptrace) - .long SYMBOL_NAME(sys_alarm) - .long SYMBOL_NAME(sys_fstat) - .long SYMBOL_NAME(sys_pause) - .long SYMBOL_NAME(sys_utime) /* 30 */ - .long SYMBOL_NAME(sys_ni_syscall) /* old stty syscall holder */ - .long SYMBOL_NAME(sys_ni_syscall) /* old gtty syscall holder */ - .long SYMBOL_NAME(sys_access) - .long SYMBOL_NAME(sys_nice) - .long SYMBOL_NAME(sys_ni_syscall) /* 35 */ /* old ftime syscall holder */ - .long SYMBOL_NAME(sys_sync) - .long SYMBOL_NAME(sys_kill) - .long SYMBOL_NAME(sys_rename) - .long SYMBOL_NAME(sys_mkdir) - .long SYMBOL_NAME(sys_rmdir) /* 40 */ - .long SYMBOL_NAME(sys_dup) - .long SYMBOL_NAME(sys_pipe) - .long SYMBOL_NAME(sys_times) - .long SYMBOL_NAME(sys_ni_syscall) /* old prof syscall holder */ - .long SYMBOL_NAME(sys_brk) /* 45 */ - .long SYMBOL_NAME(sys_setgid16) - .long SYMBOL_NAME(sys_getgid16) - .long SYMBOL_NAME(sys_signal) - .long SYMBOL_NAME(sys_geteuid16) - .long SYMBOL_NAME(sys_getegid16) /* 50 */ - .long SYMBOL_NAME(sys_acct) - .long SYMBOL_NAME(sys_umount) /* recycled never used phys() */ - .long SYMBOL_NAME(sys_ni_syscall) /* old lock syscall holder */ - .long SYMBOL_NAME(sys_ioctl) - .long SYMBOL_NAME(sys_fcntl) /* 55 */ - .long SYMBOL_NAME(sys_ni_syscall) /* old mpx syscall holder */ - .long SYMBOL_NAME(sys_setpgid) - .long SYMBOL_NAME(sys_ni_syscall) /* old ulimit syscall holder */ - .long SYMBOL_NAME(sys_ni_syscall) /* sys_olduname */ - .long SYMBOL_NAME(sys_umask) /* 60 */ - .long SYMBOL_NAME(sys_chroot) - .long SYMBOL_NAME(sys_ustat) - .long SYMBOL_NAME(sys_dup2) - .long SYMBOL_NAME(sys_getppid) - .long SYMBOL_NAME(sys_getpgrp) /* 65 */ - .long SYMBOL_NAME(sys_setsid) - .long SYMBOL_NAME(sys_sigaction) - .long SYMBOL_NAME(sys_sgetmask) - .long SYMBOL_NAME(sys_ssetmask) - .long SYMBOL_NAME(sys_setreuid16) /* 70 */ - .long SYMBOL_NAME(sys_setregid16) - .long SYMBOL_NAME(sys_sigsuspend) - .long SYMBOL_NAME(sys_sigpending) - .long SYMBOL_NAME(sys_sethostname) - .long SYMBOL_NAME(sys_setrlimit) /* 75 */ - .long SYMBOL_NAME(sys_old_getrlimit) - .long SYMBOL_NAME(sys_getrusage) - .long SYMBOL_NAME(sys_gettimeofday) - .long SYMBOL_NAME(sys_settimeofday) - .long SYMBOL_NAME(sys_getgroups16) /* 80 */ - .long SYMBOL_NAME(sys_setgroups16) - .long SYMBOL_NAME(sys_ni_syscall) /* sys_oldselect */ - .long SYMBOL_NAME(sys_symlink) - .long SYMBOL_NAME(sys_lstat) - .long SYMBOL_NAME(sys_readlink) /* 85 */ - .long SYMBOL_NAME(sys_uselib) - .long SYMBOL_NAME(sys_swapon) - .long SYMBOL_NAME(sys_reboot) - .long SYMBOL_NAME(old_readdir) - .long SYMBOL_NAME(old_mmap) /* 90 */ - .long SYMBOL_NAME(sys_munmap) - .long SYMBOL_NAME(sys_truncate) - .long SYMBOL_NAME(sys_ftruncate) - .long SYMBOL_NAME(sys_fchmod) - .long SYMBOL_NAME(sys_fchown16) /* 95 */ - .long SYMBOL_NAME(sys_getpriority) - .long SYMBOL_NAME(sys_setpriority) - .long SYMBOL_NAME(sys_ni_syscall) /* old profil syscall holder */ - .long SYMBOL_NAME(sys_statfs) - .long SYMBOL_NAME(sys_fstatfs) /* 100 */ - .long SYMBOL_NAME(sys_ni_syscall) /* ioperm */ - .long SYMBOL_NAME(sys_socketcall) - .long SYMBOL_NAME(sys_syslog) - .long SYMBOL_NAME(sys_setitimer) - .long SYMBOL_NAME(sys_getitimer) /* 105 */ - .long SYMBOL_NAME(sys_newstat) - .long SYMBOL_NAME(sys_newlstat) - .long SYMBOL_NAME(sys_newfstat) - .long SYMBOL_NAME(sys_uname) - .long SYMBOL_NAME(sys_ni_syscall) /* 110 */ /* iopl */ - .long SYMBOL_NAME(sys_vhangup) - .long SYMBOL_NAME(sys_ni_syscall) /* idle */ - .long SYMBOL_NAME(sys_ni_syscall) /* vm86old */ - .long SYMBOL_NAME(sys_wait4) - .long SYMBOL_NAME(sys_swapoff) /* 115 */ - .long SYMBOL_NAME(sys_sysinfo) - .long SYMBOL_NAME(sys_ipc) - .long SYMBOL_NAME(sys_fsync) - .long SYMBOL_NAME(sys_sigreturn) - .long SYMBOL_NAME(sys_clone) /* 120 */ - .long SYMBOL_NAME(sys_setdomainname) - .long SYMBOL_NAME(sys_newuname) - .long SYMBOL_NAME(sys_ni_syscall) /* sys_modify_ldt */ - .long SYMBOL_NAME(sys_adjtimex) - .long SYMBOL_NAME(sys_mprotect) /* 125 */ - .long SYMBOL_NAME(sys_sigprocmask) - .long SYMBOL_NAME(sys_create_module) - .long SYMBOL_NAME(sys_init_module) - .long SYMBOL_NAME(sys_delete_module) - .long SYMBOL_NAME(sys_get_kernel_syms) /* 130 */ - .long SYMBOL_NAME(sys_quotactl) - .long SYMBOL_NAME(sys_getpgid) - .long SYMBOL_NAME(sys_fchdir) - .long SYMBOL_NAME(sys_bdflush) - .long SYMBOL_NAME(sys_sysfs) /* 135 */ - .long SYMBOL_NAME(sys_personality) - .long SYMBOL_NAME(sys_ni_syscall) /* for afs_syscall */ - .long SYMBOL_NAME(sys_setfsuid16) - .long SYMBOL_NAME(sys_setfsgid16) - .long SYMBOL_NAME(sys_llseek) /* 140 */ - .long SYMBOL_NAME(sys_getdents) - .long SYMBOL_NAME(sys_select) - .long SYMBOL_NAME(sys_flock) - .long SYMBOL_NAME(sys_msync) - .long SYMBOL_NAME(sys_readv) /* 145 */ - .long SYMBOL_NAME(sys_writev) - .long SYMBOL_NAME(sys_getsid) - .long SYMBOL_NAME(sys_fdatasync) - .long SYMBOL_NAME(sys_sysctl) - .long SYMBOL_NAME(sys_mlock) /* 150 */ - .long SYMBOL_NAME(sys_munlock) - .long SYMBOL_NAME(sys_mlockall) - .long SYMBOL_NAME(sys_munlockall) - .long SYMBOL_NAME(sys_sched_setparam) - .long SYMBOL_NAME(sys_sched_getparam) /* 155 */ - .long SYMBOL_NAME(sys_sched_setscheduler) - .long SYMBOL_NAME(sys_sched_getscheduler) - .long SYMBOL_NAME(sys_sched_yield) - .long SYMBOL_NAME(sys_sched_get_priority_max) - .long SYMBOL_NAME(sys_sched_get_priority_min) /* 160 */ - .long SYMBOL_NAME(sys_sched_rr_get_interval) - .long SYMBOL_NAME(sys_nanosleep) - .long SYMBOL_NAME(sys_mremap) - .long SYMBOL_NAME(sys_setresuid16) - .long SYMBOL_NAME(sys_getresuid16) /* 165 */ - .long SYMBOL_NAME(sys_ni_syscall) /* vm86 */ - .long SYMBOL_NAME(sys_query_module) - .long SYMBOL_NAME(sys_poll) - .long SYMBOL_NAME(sys_nfsservctl) - .long SYMBOL_NAME(sys_setresgid16) /* 170 */ - .long SYMBOL_NAME(sys_getresgid16) - .long SYMBOL_NAME(sys_prctl) - .long SYMBOL_NAME(sys_rt_sigreturn) - .long SYMBOL_NAME(sys_rt_sigaction) - .long SYMBOL_NAME(sys_rt_sigprocmask) /* 175 */ - .long SYMBOL_NAME(sys_rt_sigpending) - .long SYMBOL_NAME(sys_rt_sigtimedwait) - .long SYMBOL_NAME(sys_rt_sigqueueinfo) - .long SYMBOL_NAME(sys_rt_sigsuspend) - .long SYMBOL_NAME(sys_pread) /* 180 */ - .long SYMBOL_NAME(sys_pwrite) - .long SYMBOL_NAME(sys_chown16) - .long SYMBOL_NAME(sys_getcwd) - .long SYMBOL_NAME(sys_capget) - .long SYMBOL_NAME(sys_capset) /* 185 */ - .long SYMBOL_NAME(sys_sigaltstack) - .long SYMBOL_NAME(sys_sendfile) - .long SYMBOL_NAME(sys_ni_syscall) /* streams1 */ - .long SYMBOL_NAME(sys_ni_syscall) /* streams2 */ - .long SYMBOL_NAME(sys_vfork) /* 190 */ - .long SYMBOL_NAME(sys_getrlimit) - .long SYMBOL_NAME(sys_mmap2) - .long SYMBOL_NAME(sys_truncate64) - .long SYMBOL_NAME(sys_ftruncate64) - .long SYMBOL_NAME(sys_stat64) /* 195 */ - .long SYMBOL_NAME(sys_lstat64) - .long SYMBOL_NAME(sys_fstat64) - .long SYMBOL_NAME(sys_lchown) - .long SYMBOL_NAME(sys_getuid) - .long SYMBOL_NAME(sys_getgid) /* 200 */ - .long SYMBOL_NAME(sys_geteuid) - .long SYMBOL_NAME(sys_getegid) - .long SYMBOL_NAME(sys_setreuid) - .long SYMBOL_NAME(sys_setregid) - .long SYMBOL_NAME(sys_getgroups) /* 205 */ - .long SYMBOL_NAME(sys_setgroups) - .long SYMBOL_NAME(sys_fchown) - .long SYMBOL_NAME(sys_setresuid) - .long SYMBOL_NAME(sys_getresuid) - .long SYMBOL_NAME(sys_setresgid) /* 210 */ - .long SYMBOL_NAME(sys_getresgid) - .long SYMBOL_NAME(sys_chown) - .long SYMBOL_NAME(sys_setuid) - .long SYMBOL_NAME(sys_setgid) - .long SYMBOL_NAME(sys_setfsuid) /* 215 */ - .long SYMBOL_NAME(sys_setfsgid) - .long SYMBOL_NAME(sys_pivot_root) - .long SYMBOL_NAME(sys_mincore) - .long SYMBOL_NAME(sys_madvise) - .long SYMBOL_NAME(sys_getdents64) /* 220 */ - .long SYMBOL_NAME(sys_fcntl64) - .long SYMBOL_NAME(sys_ni_syscall) /* reserved for TUX */ - .long SYMBOL_NAME(sys_ni_syscall) /* Reserved for Security */ - .long SYMBOL_NAME(sys_gettid) - .long SYMBOL_NAME(sys_readahead) /* 225 */ - .long SYMBOL_NAME(sys_setxattr) - .long SYMBOL_NAME(sys_lsetxattr) - .long SYMBOL_NAME(sys_fsetxattr) - .long SYMBOL_NAME(sys_getxattr) - .long SYMBOL_NAME(sys_lgetxattr) /* 230 */ - .long SYMBOL_NAME(sys_fgetxattr) - .long SYMBOL_NAME(sys_listxattr) - .long SYMBOL_NAME(sys_llistxattr) - .long SYMBOL_NAME(sys_flistxattr) - .long SYMBOL_NAME(sys_removexattr) /* 235 */ - .long SYMBOL_NAME(sys_lremovexattr) - .long SYMBOL_NAME(sys_fremovexattr) - .long SYMBOL_NAME(sys_tkill) - .long SYMBOL_NAME(sys_sendfile64) - .long SYMBOL_NAME(sys_futex) /* 240 */ - .long SYMBOL_NAME(sys_sched_setaffinity) - .long SYMBOL_NAME(sys_sched_getaffinity) + .long sys_ni_syscall /* 0 - old "setup()" system call*/ + .long sys_exit + .long sys_fork + .long sys_read + .long sys_write + .long sys_open /* 5 */ + .long sys_close + .long sys_waitpid + .long sys_creat + .long sys_link + .long sys_unlink /* 10 */ + .long sys_execve + .long sys_chdir + .long sys_time + .long sys_mknod + .long sys_chmod /* 15 */ + .long sys_lchown16 + .long sys_ni_syscall /* old break syscall holder */ + .long sys_stat + .long sys_lseek + .long sys_getpid /* 20 */ + .long sys_mount + .long sys_oldumount + .long sys_setuid16 + .long sys_getuid16 + .long sys_stime /* 25 */ + .long sys_ptrace + .long sys_alarm + .long sys_fstat + .long sys_pause + .long sys_utime /* 30 */ + .long sys_ni_syscall /* old stty syscall holder */ + .long sys_ni_syscall /* old gtty syscall holder */ + .long sys_access + .long sys_nice + .long sys_ni_syscall /* 35 */ /* old ftime syscall holder */ + .long sys_sync + .long sys_kill + .long sys_rename + .long sys_mkdir + .long sys_rmdir /* 40 */ + .long sys_dup + .long sys_pipe + .long sys_times + .long sys_ni_syscall /* old prof syscall holder */ + .long sys_brk /* 45 */ + .long sys_setgid16 + .long sys_getgid16 + .long sys_signal + .long sys_geteuid16 + .long sys_getegid16 /* 50 */ + .long sys_acct + .long sys_umount /* recycled never used phys() */ + .long sys_ni_syscall /* old lock syscall holder */ + .long sys_ioctl + .long sys_fcntl /* 55 */ + .long sys_ni_syscall /* old mpx syscall holder */ + .long sys_setpgid + .long sys_ni_syscall /* old ulimit syscall holder */ + .long sys_ni_syscall /* sys_olduname */ + .long sys_umask /* 60 */ + .long sys_chroot + .long sys_ustat + .long sys_dup2 + .long sys_getppid + .long sys_getpgrp /* 65 */ + .long sys_setsid + .long sys_sigaction + .long sys_sgetmask + .long sys_ssetmask + .long sys_setreuid16 /* 70 */ + .long sys_setregid16 + .long sys_sigsuspend + .long sys_sigpending + .long sys_sethostname + .long sys_setrlimit /* 75 */ + .long sys_old_getrlimit + .long sys_getrusage + .long sys_gettimeofday + .long sys_settimeofday + .long sys_getgroups16 /* 80 */ + .long sys_setgroups16 + .long sys_ni_syscall /* sys_oldselect */ + .long sys_symlink + .long sys_lstat + .long sys_readlink /* 85 */ + .long sys_uselib + .long sys_swapon + .long sys_reboot + .long old_readdir + .long old_mmap /* 90 */ + .long sys_munmap + .long sys_truncate + .long sys_ftruncate + .long sys_fchmod + .long sys_fchown16 /* 95 */ + .long sys_getpriority + .long sys_setpriority + .long sys_ni_syscall /* old profil syscall holder */ + .long sys_statfs + .long sys_fstatfs /* 100 */ + .long sys_ni_syscall /* ioperm */ + .long sys_socketcall + .long sys_syslog + .long sys_setitimer + .long sys_getitimer /* 105 */ + .long sys_newstat + .long sys_newlstat + .long sys_newfstat + .long sys_uname + .long sys_ni_syscall /* 110 */ /* iopl */ + .long sys_vhangup + .long sys_ni_syscall /* idle */ + .long sys_ni_syscall /* vm86old */ + .long sys_wait4 + .long sys_swapoff /* 115 */ + .long sys_sysinfo + .long sys_ipc + .long sys_fsync + .long sys_sigreturn + .long sys_clone /* 120 */ + .long sys_setdomainname + .long sys_newuname + .long sys_ni_syscall /* sys_modify_ldt */ + .long sys_adjtimex + .long sys_mprotect /* 125 */ + .long sys_sigprocmask + .long sys_create_module + .long sys_init_module + .long sys_delete_module + .long sys_get_kernel_syms /* 130 */ + .long sys_quotactl + .long sys_getpgid + .long sys_fchdir + .long sys_bdflush + .long sys_sysfs /* 135 */ + .long sys_personality + .long sys_ni_syscall /* for afs_syscall */ + .long sys_setfsuid16 + .long sys_setfsgid16 + .long sys_llseek /* 140 */ + .long sys_getdents + .long sys_select + .long sys_flock + .long sys_msync + .long sys_readv /* 145 */ + .long sys_writev + .long sys_getsid + .long sys_fdatasync + .long sys_sysctl + .long sys_mlock /* 150 */ + .long sys_munlock + .long sys_mlockall + .long sys_munlockall + .long sys_sched_setparam + .long sys_sched_getparam /* 155 */ + .long sys_sched_setscheduler + .long sys_sched_getscheduler + .long sys_sched_yield + .long sys_sched_get_priority_max + .long sys_sched_get_priority_min /* 160 */ + .long sys_sched_rr_get_interval + .long sys_nanosleep + .long sys_mremap + .long sys_setresuid16 + .long sys_getresuid16 /* 165 */ + .long sys_ni_syscall /* vm86 */ + .long sys_query_module + .long sys_poll + .long sys_nfsservctl + .long sys_setresgid16 /* 170 */ + .long sys_getresgid16 + .long sys_prctl + .long sys_rt_sigreturn + .long sys_rt_sigaction + .long sys_rt_sigprocmask /* 175 */ + .long sys_rt_sigpending + .long sys_rt_sigtimedwait + .long sys_rt_sigqueueinfo + .long sys_rt_sigsuspend + .long sys_pread /* 180 */ + .long sys_pwrite + .long sys_chown16 + .long sys_getcwd + .long sys_capget + .long sys_capset /* 185 */ + .long sys_sigaltstack + .long sys_sendfile + .long sys_ni_syscall /* streams1 */ + .long sys_ni_syscall /* streams2 */ + .long sys_vfork /* 190 */ + .long sys_getrlimit + .long sys_mmap2 + .long sys_truncate64 + .long sys_ftruncate64 + .long sys_stat64 /* 195 */ + .long sys_lstat64 + .long sys_fstat64 + .long sys_lchown + .long sys_getuid + .long sys_getgid /* 200 */ + .long sys_geteuid + .long sys_getegid + .long sys_setreuid + .long sys_setregid + .long sys_getgroups /* 205 */ + .long sys_setgroups + .long sys_fchown + .long sys_setresuid + .long sys_getresuid + .long sys_setresgid /* 210 */ + .long sys_getresgid + .long sys_chown + .long sys_setuid + .long sys_setgid + .long sys_setfsuid /* 215 */ + .long sys_setfsgid + .long sys_pivot_root + .long sys_mincore + .long sys_madvise + .long sys_getdents64 /* 220 */ + .long sys_fcntl64 + .long sys_ni_syscall /* reserved for TUX */ + .long sys_ni_syscall /* Reserved for Security */ + .long sys_gettid + .long sys_readahead /* 225 */ + .long sys_setxattr + .long sys_lsetxattr + .long sys_fsetxattr + .long sys_getxattr + .long sys_lgetxattr /* 230 */ + .long sys_fgetxattr + .long sys_listxattr + .long sys_llistxattr + .long sys_flistxattr + .long sys_removexattr /* 235 */ + .long sys_lremovexattr + .long sys_fremovexattr + .long sys_tkill + .long sys_sendfile64 + .long sys_futex /* 240 */ + .long sys_sched_setaffinity + .long sys_sched_getaffinity .rept NR_syscalls-(.-sys_call_table)/4 - .long SYMBOL_NAME(sys_ni_syscall) + .long sys_ni_syscall .endr /* End of entry.S */ Index: arch/sh/kernel/head.S =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/kernel/head.S,v retrieving revision 1.3 diff -u -3 -p -r1.3 head.S --- arch/sh/kernel/head.S 22 Mar 2002 12:57:10 -0000 1.3 +++ arch/sh/kernel/head.S 1 May 2002 01:00:28 -0000 @@ -69,8 +69,8 @@ ENTRY(_stext) .balign 4 1: .long 0x400080F0 ! MD=1, RB=0, BL=0, FD=1, IMASK=0xF -2: .long SYMBOL_NAME(stack) -3: .long SYMBOL_NAME(__bss_start) -4: .long SYMBOL_NAME(_end) -5: .long SYMBOL_NAME(start_kernel) -6: .long SYMBOL_NAME(cache_init) +2: .long stack +3: .long __bss_start +4: .long _end +5: .long start_kernel +6: .long cache_init Index: arch/sh/lib/memmove.S =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/lib/memmove.S,v retrieving revision 1.1.1.1 diff -u -3 -p -r1.1.1.1 memmove.S --- arch/sh/lib/memmove.S 15 Oct 2001 20:44:53 -0000 1.1.1.1 +++ arch/sh/lib/memmove.S 1 May 2002 01:00:28 -0000 @@ -20,7 +20,7 @@ ENTRY(memmove) jmp @r0 nop .balign 4 -2: .long SYMBOL_NAME(memcpy) +2: .long memcpy 1: sub r5,r4 ! From here, r4 has the distance to r0 tst r6,r6 Index: arch/sh/mm/clear_page.S =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/mm/clear_page.S,v retrieving revision 1.7 diff -u -3 -p -r1.7 clear_page.S --- arch/sh/mm/clear_page.S 25 Apr 2002 07:21:04 -0000 1.7 +++ arch/sh/mm/clear_page.S 1 May 2002 01:00:28 -0000 @@ -254,7 +254,7 @@ ENTRY(__flush_dcache_all) nop .align 2 2: .long 0xffffc000 -3: .long SYMBOL_NAME(empty_zero_page) +3: .long empty_zero_page 4: .long 0x10000000 ! BL bit /* flush_cache_4096_all(unsigned long addr) */ @@ -289,6 +289,6 @@ ENTRY(flush_cache_4096_all) nop .align 2 2: .long 0xffffc000 -3: .long SYMBOL_NAME(empty_zero_page) +3: .long empty_zero_page 4: .long 0x10000000 ! BL bit #endif Index: drivers/block/rd.c =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/block/rd.c,v retrieving revision 1.8 diff -u -3 -p -r1.8 rd.c --- drivers/block/rd.c 16 Apr 2002 00:21:19 -0000 1.8 +++ drivers/block/rd.c 1 May 2002 01:00:28 -0000 @@ -244,7 +244,7 @@ static int rd_make_request(request_queue unsigned long offset, len; int rw = sbh->bi_rw; - minor = minor(sbh->bi_dev); + minor = minor(to_kdev_t(sbh->bi_bdev->bd_dev)); if (minor >= NUM_RAMDISKS) goto fail; Index: drivers/char/Config.help =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/char/Config.help,v retrieving revision 1.3 diff -u -3 -p -r1.3 Config.help --- drivers/char/Config.help 22 Mar 2002 04:44:45 -0000 1.3 +++ drivers/char/Config.help 1 May 2002 01:00:28 -0000 @@ -453,6 +453,17 @@ CONFIG_SYNCLINK The module will be called synclink.o. If you want to do that, say M here. +CONFIG_SYNCLINKMP + Enable support for the SyncLink Multiport (2 or 4 ports) + serial adapter, running asynchronous and HDLC communications up + to 2.048Mbps. Each ports is independently selectable for + RS-232, V.35, RS-449, RS-530, and X.21 + + This driver may be built as a module ( = code which can be + inserted in and removed from the running kernel whenever you want). + The module will be called synclinkmp.o. If you want to do that, say M + here. + CONFIG_N_HDLC Allows synchronous HDLC communications with tty device drivers that support synchronous HDLC such as the Microgate SyncLink adapter. Index: drivers/char/Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/char/Makefile,v retrieving revision 1.5 diff -u -3 -p -r1.5 Makefile --- drivers/char/Makefile 23 Apr 2002 04:35:59 -0000 1.5 +++ drivers/char/Makefile 1 May 2002 01:00:28 -0000 @@ -143,6 +143,7 @@ obj-$(CONFIG_RISCOM8) += riscom8.o obj-$(CONFIG_ISI) += isicom.o obj-$(CONFIG_ESPSERIAL) += esp.o obj-$(CONFIG_SYNCLINK) += synclink.o +obj-$(CONFIG_SYNCLINKMP) += synclinkmp.o obj-$(CONFIG_N_HDLC) += n_hdlc.o obj-$(CONFIG_SPECIALIX) += specialix.o obj-$(CONFIG_AMIGA_BUILTIN_SERIAL) += amiserial.o Index: drivers/video/epson1355fb.c =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/video/epson1355fb.c,v retrieving revision 1.2 diff -u -3 -p -r1.2 epson1355fb.c --- drivers/video/epson1355fb.c 5 Apr 2002 04:45:01 -0000 1.2 +++ drivers/video/epson1355fb.c 1 May 2002 01:00:28 -0000 @@ -361,9 +361,9 @@ static int e1355_getcolreg(unsigned regn return 0; } -static int e1355_setcolreg(unsigned regno, unsigned red, unsigned green, - unsigned blue, unsigned transp, - struct fb_info *info) +static int e1355fb_setcolreg(unsigned regno, unsigned red, unsigned green, + unsigned blue, unsigned transp, + struct fb_info *info) { u8 r = (red >> 8) & 0xf0; u8 g = (green>>8) & 0xf0; @@ -432,7 +432,6 @@ static void e1355_set_disp(const void *u { struct display_switch *d; - disp->screen_base = (void *)E1355_FB_BASE; disp->dispsw = &e1355_dispsw; switch(disp->var.bits_per_pixel) { @@ -467,7 +466,6 @@ struct fbgen_hwswitch e1355_switch = { get_par: e1355_get_par, set_par: e1355_set_par, getcolreg: e1355_getcolreg, - setcolreg: e1355_setcolreg, pan_display: e1355_pan_display, blank: e1355_blank, set_disp: e1355_set_disp, @@ -483,8 +481,10 @@ static struct fb_ops e1355fb_ops = { fb_get_var: fbgen_get_var, fb_set_var: fbgen_set_var, fb_get_cmap: fbgen_get_cmap, - fb_set_cmap: fbgen_set_cmap, + fb_set_cmap: gen_set_cmap, + fb_setcolreg: e1355fb_setcolreg, fb_pan_display: fbgen_pan_display, + fb_blank: fbgen_blank, }; static struct e1355fb_info fb_info; @@ -502,18 +502,19 @@ int __init e1355fb_init(void) fb_info.gen.info.changevar = NULL; fb_info.gen.info.node = NODEV; fb_info.gen.info.fbops = &e1355fb_ops; + fb_info.gen.info.screen_base = (void *)E1355_FB_BASE; + fb_info.gen.currcon = -1; fb_info.gen.info.disp = &disp; fb_info.gen.parsize = sizeof(struct e1355_par); fb_info.gen.info.switch_con = &fbgen_switch; fb_info.gen.info.updatevar = &fbgen_update_var; - fb_info.gen.info.blank = &fbgen_blank; fb_info.gen.info.flags = FBINFO_FLAG_DEFAULT; /* This should give a reasonable default video mode */ fbgen_get_var(&disp.var, -1, &fb_info.gen.info); fbgen_do_set_var(&disp.var, 1, &fb_info.gen); fbgen_set_disp(-1, &fb_info.gen); if (disp.var.bits_per_pixel > 1) - fbgen_install_cmap(0, &fb_info.gen); + do_install_cmap(0, &fb_info.gen); if (register_framebuffer(&fb_info.gen.info) < 0) return -EINVAL; printk(KERN_INFO "fb%d: %s frame buffer device\n", GET_FB_IDX(fb_info.gen.info.node), Index: drivers/video/hitfb.c =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/video/hitfb.c,v retrieving revision 1.2 diff -u -3 -p -r1.2 hitfb.c --- drivers/video/hitfb.c 24 Jan 2002 11:04:15 -0000 1.2 +++ drivers/video/hitfb.c 1 May 2002 01:00:28 -0000 @@ -294,7 +294,6 @@ static void hitfb_set_disp(const void *f { const struct hitfb_par *par = fb_par; - disp->screen_base = (void *)fb_info.hit_videobase; disp->scrollmode = SCROLL_YREDRAW; switch(((struct hitfb_par *)par)->bpp) { @@ -323,7 +322,6 @@ struct fbgen_hwswitch hitfb_switch = { hitfb_get_par, hitfb_set_par, hitfb_getcolreg, - hitfb_setcolreg, hitfb_pan_display, hitfb_blank, hitfb_set_disp @@ -337,7 +335,9 @@ static struct fb_ops hitfb_ops = { fb_set_var: fbgen_set_var, fb_get_cmap: fbgen_get_cmap, fb_set_cmap: fbgen_set_cmap, + fb_setcolreg: hitfb_setcolreg, fb_pan_display: fbgen_pan_display, + fb_blank: fbgen_blank, }; @@ -348,19 +348,20 @@ int __init hitfb_init(void) fb_info.gen.info.flags = FBINFO_FLAG_DEFAULT; fb_info.gen.info.fbops = &hitfb_ops; fb_info.gen.info.disp = &fb_info.disp; + fb_info.gen.info.currcon = 1; fb_info.gen.info.changevar = NULL; fb_info.gen.info.switch_con = &fbgen_switch; fb_info.gen.info.updatevar = &fbgen_update_var; - fb_info.gen.info.blank = &fbgen_blank; fb_info.gen.parsize = sizeof(struct hitfb_par); fb_info.gen.fbhw = &hitfb_switch; fb_info.gen.fbhw->detect(); + fb_info.screen_base = (void *)fb_info.hit_videobase; fbgen_get_var(&fb_info.disp.var, -1, &fb_info.gen.info); fb_info.disp.var.activate = FB_ACTIVATE_NOW; fbgen_do_set_var(&fb_info.disp.var, 1, &fb_info.gen); fbgen_set_disp(-1, &fb_info.gen); - fbgen_install_cmap(0, &fb_info.gen); + do_install_cmap(0, &fb_info.gen); if(register_framebuffer(&fb_info.gen.info)<0) return -EINVAL; Index: drivers/video/pvr2fb.c =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/video/pvr2fb.c,v retrieving revision 1.2 diff -u -3 -p -r1.2 pvr2fb.c --- drivers/video/pvr2fb.c 24 Jan 2002 11:04:15 -0000 1.2 +++ drivers/video/pvr2fb.c 1 May 2002 01:00:28 -0000 @@ -157,7 +157,6 @@ static struct pvr2fb_par { } currentpar; -static int currcon = 0; static int currbpp; static struct display disp; static struct fb_info fb_info; @@ -214,6 +213,9 @@ static int pvr2fb_get_cmap(struct fb_cma struct fb_info *info); static int pvr2fb_set_cmap(struct fb_cmap *cmap, int kspc, int con, struct fb_info *info); +static int pvr2fb_setcolreg(u_int regno, u_int red, u_int green, u_int blue, + u_int transp, struct fb_info *info); +static int pvr2fb_blank(int blank, struct fb_info *info); /* * Interface to the low level console driver @@ -221,19 +223,15 @@ static int pvr2fb_set_cmap(struct fb_cma static int pvr2fbcon_switch(int con, struct fb_info *info); static int pvr2fbcon_updatevar(int con, struct fb_info *info); -static void pvr2fbcon_blank(int blank, struct fb_info *info); /* * Internal/hardware-specific routines */ -static void do_install_cmap(int con, struct fb_info *info); static u_long get_line_length(int xres_virtual, int bpp); static void set_color_bitfields(struct fb_var_screeninfo *var); static int pvr2_getcolreg(u_int regno, u_int *red, u_int *green, u_int *blue, u_int *transp, struct fb_info *info); -static int pvr2_setcolreg(u_int regno, u_int red, u_int green, u_int blue, - u_int transp, struct fb_info *info); static int pvr2_encode_fix(struct fb_fix_screeninfo *fix, struct pvr2fb_par *par); @@ -260,7 +258,9 @@ static struct fb_ops pvr2fb_ops = { fb_set_var: pvr2fb_set_var, fb_get_cmap: pvr2fb_get_cmap, fb_set_cmap: pvr2fb_set_cmap, + fb_setcolreg: pvr2fb_setcolreg, fb_pan_display: pvr2fb_pan_display, + fb_blank: pvr2fb_blank, }; static struct fb_videomode pvr2_modedb[] __initdata = { @@ -381,7 +381,6 @@ static int pvr2fb_set_var(struct fb_var_ struct fb_fix_screeninfo fix; pvr2_encode_fix(&fix, &par); - display->screen_base = (char *)fix.smem_start; display->scrollmode = SCROLL_YREDRAW; display->visual = fix.visual; display->type = fix.type; @@ -422,7 +421,7 @@ static int pvr2fb_set_var(struct fb_var_ return err; do_install_cmap(con, info); } - if (con == currcon) + if (con == info->currcon) pvr2_set_var(&display->var); } @@ -448,7 +447,7 @@ static int pvr2fb_pan_display(struct fb_ fb_display[con].var.yres_virtual) return -EINVAL; } - if (con == currcon) + if (con == info->currcon) pvr2_pan_var(var); fb_display[con].var.xoffset = var->xoffset; fb_display[con].var.yoffset = var->yoffset; @@ -465,7 +464,7 @@ static int pvr2fb_pan_display(struct fb_ static int pvr2fb_get_cmap(struct fb_cmap *cmap, int kspc, int con, struct fb_info *info) { - if (con == currcon) /* current console? */ + if (con == info->currcon) /* current console? */ return fb_get_cmap(cmap, kspc, pvr2_getcolreg, info); else if (fb_display[con].cmap.len) /* non default colormap? */ fb_copy_cmap(&fb_display[con].cmap, cmap, kspc ? 0 : 2); @@ -488,8 +487,8 @@ static int pvr2fb_set_cmap(struct fb_cma 0))) return err; } - if (con == currcon) /* current console? */ - return fb_set_cmap(cmap, kspc, pvr2_setcolreg, info); + if (con == info->currcon) /* current console? */ + return fb_set_cmap(cmap, kspc, info); else fb_copy_cmap(cmap, &fb_display[con].cmap, kspc ? 0 : 1); @@ -499,10 +498,10 @@ static int pvr2fb_set_cmap(struct fb_cma static int pvr2fbcon_switch(int con, struct fb_info *info) { /* Do we have to save the colormap? */ - if (fb_display[currcon].cmap.len) - fb_get_cmap(&fb_display[currcon].cmap, 1, pvr2_getcolreg, info); + if (fb_display[info->currcon].cmap.len) + fb_get_cmap(&fb_display[info->currcon].cmap, 1, pvr2_getcolreg, info); - currcon = con; + info->currcon = con; pvr2_set_var(&fb_display[con].var); /* Install new colormap */ do_install_cmap(con, info); @@ -515,24 +514,11 @@ static int pvr2fbcon_updatevar(int con, return 0; } -static void pvr2fbcon_blank(int blank, struct fb_info *info) +static int pvr2fb_blank(int blank, struct fb_info *info) { do_blank = blank ? blank : -1; } -/* Setup the colormap */ - -static void do_install_cmap(int con, struct fb_info *info) -{ - if (con != currcon) - return; - if (fb_display[con].cmap.len) - fb_set_cmap(&fb_display[con].cmap, 1, pvr2_setcolreg, info); - else - fb_set_cmap(fb_default_cmap(1<<fb_display[con].var.bits_per_pixel), - 1, pvr2_setcolreg, info); -} - static inline u_long get_line_length(int xres_virtual, int bpp) { return (u_long)((((xres_virtual*bpp)+31)&~31) >> 3); @@ -575,7 +561,7 @@ static int pvr2_getcolreg(u_int regno, u return 0; } -static int pvr2_setcolreg(u_int regno, u_int red, u_int green, u_int blue, +static int pvr2fb_setcolreg(u_int regno, u_int red, u_int green, u_int blue, u_int transp, struct fb_info *info) { if (regno > 255) @@ -1036,10 +1022,11 @@ int __init pvr2fb_init(void) fb_info.changevar = NULL; fb_info.node = NODEV; fb_info.fbops = &pvr2fb_ops; + fb_info.screen_base = (char *) videomemory; fb_info.disp = &disp; + fb_info.currcon = -1; fb_info.switch_con = &pvr2fbcon_switch; fb_info.updatevar = &pvr2fbcon_updatevar; - fb_info.blank = &pvr2fbcon_blank; fb_info.flags = FBINFO_FLAG_DEFAULT; memset(&var, 0, sizeof(var)); Index: include/asm-sh/ide.h =================================================================== RCS file: /cvsroot/linuxsh/linux/include/asm-sh/ide.h,v retrieving revision 1.2 diff -u -3 -p -r1.2 ide.h --- include/asm-sh/ide.h 24 Jan 2002 11:04:15 -0000 1.2 +++ include/asm-sh/ide.h 1 May 2002 01:00:28 -0000 @@ -130,12 +130,6 @@ typedef union { } b; } control_t; -#define ide_request_irq(irq,hand,flg,dev,id) request_irq((irq),(hand),(flg),(dev),(id)) -#define ide_free_irq(irq,dev_id) free_irq((irq), (dev_id)) -#define ide_check_region(from,extent) check_region((from), (extent)) -#define ide_request_region(from,extent,name) request_region((from), (extent), (name)) -#define ide_release_region(from,extent) release_region((from), (extent)) - /* * The following are not needed for the non-m68k ports */ Index: mm/memory.c =================================================================== RCS file: /cvsroot/linuxsh/linux/mm/memory.c,v retrieving revision 1.10 diff -u -3 -p -r1.10 memory.c --- mm/memory.c 10 Apr 2002 11:09:40 -0000 1.10 +++ mm/memory.c 1 May 2002 01:00:28 -0000 @@ -839,8 +839,8 @@ int zeromap_page_range(struct vm_area_st address = (address + PGDIR_SIZE) & PGDIR_MASK; dir++; } while (address && (address < end)); - spin_unlock(&mm->page_table_lock); flush_tlb_range(vma, beg, end); + spin_unlock(&mm->page_table_lock); return error; } @@ -922,8 +922,8 @@ int remap_page_range(struct vm_area_stru from = (from + PGDIR_SIZE) & PGDIR_MASK; dir++; } while (from && (from < end)); - spin_unlock(&mm->page_table_lock); flush_tlb_range(vma, beg, end); + spin_unlock(&mm->page_table_lock); return error; } |
From: NIIBE Y. <gn...@m1...> - 2002-05-01 00:36:34
|
Changes from mainline. 2002-04-26 NIIBE Yutaka <gn...@m1...> * AGAINST-2.5.10: New file. * AGAINST-2.5.9: Removed. * Makefile: Version 2.5.10. * drivers/pci/pci.ids: Incorporate changes in 2.5.10. Index: Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/Makefile,v retrieving revision 1.17 diff -u -3 -p -r1.17 Makefile --- Makefile 23 Apr 2002 04:35:59 -0000 1.17 +++ Makefile 1 May 2002 00:34:07 -0000 @@ -1,6 +1,6 @@ VERSION = 2 PATCHLEVEL = 5 -SUBLEVEL = 9 +SUBLEVEL = 10 EXTRAVERSION =-sh KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) Index: drivers/pci/pci.ids =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/pci/pci.ids,v retrieving revision 1.8 diff -u -3 -p -r1.8 pci.ids --- drivers/pci/pci.ids 23 Apr 2002 04:35:59 -0000 1.8 +++ drivers/pci/pci.ids 1 May 2002 00:34:07 -0000 @@ -220,6 +220,7 @@ 5145 Radeon QE 5146 Radeon QF 5147 Radeon QG + 514c Radeon 8500 QL 5159 Radeon VE QY 515a Radeon VE QZ 5245 Rage 128 RE |
From: <jd...@ti...> - 2002-04-30 23:26:06
|
LAVORO DA CASA - i miei bambini vengono all'ufficio ogni giorno! GUADAGNI $500 - $1500 P/T O i $2000 - $4000 F/T SUPPLEMENTARI AL MESE ore flessibili , nessun'esperienza necessaria Forniamo l'addestramento ed il supporto completi. Siete pronti a cambiare la vostra vita? VISITA: http://www.jobblow.com WORK FROM HOME - My Children Come to the Office Every Day! EARN AN EXTRA $500 - $1500 P/T OR $2000 - $4000 F/T per month Flexible hours, no experience necessary. We provide full training and support. Are you ready to change your life? VISIT: http://www.jobblow.com NO SPAM !!!!!! |
From: hzeng <hz...@hf...> - 2002-04-30 01:04:27
|
aGVsbG8sDQoNCiAgICBJIHdhbnQgdG8gZGVidWcgbXkga2VybmVsIGFuZCBJIGRvbid0IGtub3cg d2hpY2ggdG9vbCBJIHNob3VsZCB1c2UuIEkgc2VhcmNoIHRoZSBtYWlsaW5nIGxpc3QgYW5kIGZp bmQgdHdvIHRvb2xzIHRoYXQgaGF2ZSBiZWVuIHByb21wdGVkIG1hbnkgdGltZXMuIFRoZXkgYXJl IGdkYi1zaC1zdHViIGFuZCBzaC1pcGwrZ2RiLXN0dWIuIEkgd2FudCB0byBkZWJ1ZyB0aGUga2Vy bmVsIHN0ZXAgYnkgc3RlcCBmcm9tIHJlbW90ZS4gV2hpY2ggdG9vbCBJIHNob3VsZCB1c2U/IERv IEkgbmVlZCBhZGQgc29tZSBzcGVjaWFsIHBhdGNoIHRvIHRoZSB0YXJnZXQga2VybmVsIHdoZW4g SSB1c2UgdGhlIGRlYnVnIHRvb2xzP0hhcyB0aGVyZSBhIHNwZWNpZmljIG1hbiBwYWdlIGFib3V0 IHRoZXNlIHRvb2xzPyANCg0KICAgIFBsZWFzZSBnaXZlIHNvbWUgYWR2aXNlLiBUaGFuayB5b3Ug dmVyeSBtdWNoIQ0KSHplbmcNCg0K |
From: Pilip <ja...@21...> - 2002-04-29 00:27:23
|
<HTML><HEAD> <BODY bgColor=#ffccff> <TABLE border=0 cellPadding=0 cellSpacing=0 width=475> <TBODY> <TR> <TD align=middle vAlign=top></TD></TR></TBODY></TABLE><BR> <TABLE> <TBODY> <TR> <TD width="5%"></TD> <TD bgColor=#b8ecff borderColor=#0000ff width="90%"><FONT color=#ff0000 face="Arial Black" size=6> Want To Get A Lot Of <FONT color=#0000ff>Target </FONT>Email Addresses In A Very Short Time?</FONT> <P><B><FONT face=Arial size=4></FONT><FONT color=#ff00ff face=Arial size=4><FONT color=#0000ff>Target Email Extractor </FONT>is a powerful Email Software that harvests Target Email Addresses from search engines, any specified starting URLs , including cgi , asp pages etc.</FONT></B></P> <P><FONT color=#000000 face=ËÎÌå size=2> It Quickly and automatically search and spider from search engine, any specified starting URLs to find and extract e-mail addresses<BR></P> <LI>Powerful targeting ability. Only extract the specific email addresses that directly related to your business.<BR> <LI>Integrated with 18 top popular search engines: Yahoo, Google, MSN, AOL<BR> <LI>Fast Search Ability. Nearly can find thousands of e-mail addresses in an hour, allowing up to 500 simultaneous search threads!<BR> <LI>Helpful for anyone for internet Email marketing purposes.<BR> <LI>Free version updates.<BR><BR></FONT><FONT color=#ff0000 face=Arial size=4><I><STRONG>Click The Following Link To Download This Program:</STRONG></I></FONT></LI> <P><B><FONT color=#ff0000 face=Arial size=4><A href="http://www.wldinfo.com/download/email/ESE.zip">Download Site 1</A></FONT></B></P> <P><B><FONT color=#ff0000 face=Arial size=4><A href="http://bestsoft.3322.org/onlinedown/ESE.zip">Download Site 2</A> </FONT></B>¡¡<FONT size=2><FONT color=#0000a0 face=Arial size=3><STRONG>If you can not download this program , please copy the following link into your URL , and then click " Enter" on your Computer Keyboard.</STRONG></FONT></FONT></P> <P><FONT size=2><FONT color=#0000a0 face=Arial size=3><STRONG>Here is the download links:</STRONG></FONT></P> <DIV> <P>http://www.wldinfo.com/download/email/ESE.zip</P> <P>http://bestsoft.3322.org/onlinedown/ESE.zip</P></FONT></DIV> <P></P></TD> <TD width="5%"></TD></TR> <TR> <TD width="5%"></TD> <TD bgColor=#0f95de width="90%"><FONT color=#ffffff face="Verdana, Tahoma, Helvetica, SansSerif" size=1><B>Disclaimer:</B><BR>We are strongly against continuously sending unsolicited emails to those who do not wish to receive our special mailings. We have attained the services of an independent 3rd party to overlook list management and removal services. This is not unsolicited email. If you do not wish to receive further mailings, please click this link <A href=" http://www.autoemailremoval.com/cgi-bin/remove.pl " target=_blank><FONT color=#fdd32a><B>http://www.autoemailremoval.com/cgi-bin/remove.pl </B></FONT></A>. Auto Email Removal Company. Ref# 01222263545</FONT><B><FONT class=disclaimer color=#000080 face=Arial><BR>This message is a commercial advertisement. It is compliant with all federal and state laws regarding email messages including the California Business and Professions Code. We have provided the subject line "ADV" to provide you notification that this is a commercial advertisement for persons over 18yrs old.</FONT></B></TD> <TD width="5%"></TD></TR></TBODY></TABLE> <STYLE></STYLE> <BR><BR><BR><BR><A href=""></A><BR><BR><BR><BR><BR><A href=""></A><BR></BODY></HTML> |
From: SUGIOKA T. <su...@it...> - 2002-04-25 08:25:18
|
At 14:48 02/04/25 +0900, SUGIOKA Toshinobu <su...@it...> wrote: >At 10:44 02/04/25 +0900, NIIBE Yutaka <gn...@m1...> wrote: >> > (2) For flushing O-cache entry, we can use movca.l/ocbi pair while BL >>bit is set. >> > This sequence can be executed in P1 area and does not cause any >>unnecessary bus cycles. >> >>I don't know well about this. Why/How those are different with ocbp? >>Do you have any reference? > >The data written by "movca.l r0,@rn" here is just a garbage, so it should not be >written back to real memory. "ocbi" is better because it does not cause >write back >cycle, and no extra address space is needed for writing garbage data. >I used 16kB aligned block which include empty_zero_page for this purpose. >If garbage were >written into this area, kernel would crash immediately :P. Possibly I misunderstood your question. We can't use ocbp instead of movca.l/ocbi for flush cache all. 'ocbp' flushes only when the tag of the cache-line is matched to the specified address. On the other hand, movca.l/ocbi flushes specified cache-line unconditionally. ---- SUGIOKA Toshinobu |
From: SUGIOKA T. <su...@it...> - 2002-04-25 05:48:08
|
At 10:44 02/04/25 +0900, NIIBE Yutaka <gn...@m1...> wrote: >Umm... The patch need some explanation. > >SUGIOKA Toshinobu wrote: > > (1) If we use P1 address while accessing Cache Address Array, we can use >ASSOC > > bit without UTLB entry. > >This is cool thing. I haven't thought it were mistake. >This is a nice hack. Here our intention is flushing a cache entry of >matching physicall address. Using ASSOC bit is basically for the >use of U0 or P3 thing, but here we use it for P1 address to match >physicall address. I think that this is _not_ normal use >somewhat crazy :-) use of ASSOC bit, isn't it? > I just guessed that address translation mechanism should be same as other operations. According to my experiment, there is no problem on my SH7750 board. > > (2) For flushing O-cache entry, we can use movca.l/ocbi pair while BL >bit is set. > > This sequence can be executed in P1 area and does not cause any >unnecessary bus cycles. > >I don't know well about this. Why/How those are different with ocbp? >Do you have any reference? The data written by "movca.l r0,@rn" here is just a garbage, so it should not be written back to real memory. "ocbi" is better because it does not cause write back cycle, and no extra address space is needed for writing garbage data. I used 16kB aligned block which include empty_zero_page for this purpose. If garbage were written into this area, kernel would crash immediately :P. I have no reference about these things. I only happened to think and experimented. So other guys confirmation may be required. I'll commit this to 2.5.x trunk soon. ---- SUGIOKA Toshinobu |
From: NIIBE Y. <gn...@m1...> - 2002-04-25 01:44:58
|
Umm... The patch need some explanation. SUGIOKA Toshinobu wrote: > (1) If we use P1 address while accessing Cache Address Array, we can use ASSOC > bit without UTLB entry. This is cool thing. I haven't thought it were mistake. This is a nice hack. Here our intention is flushing a cache entry of matching physicall address. Using ASSOC bit is basically for the use of U0 or P3 thing, but here we use it for P1 address to match physicall address. I think that this is _not_ normal use somewhat crazy :-) use of ASSOC bit, isn't it? > (2) For flushing O-cache entry, we can use movca.l/ocbi pair while BL bit is set. > This sequence can be executed in P1 area and does not cause any unnecessary bus cycles. I don't know well about this. Why/How those are different with ocbp? Do you have any reference? -- |
From: NIIBE Y. <gn...@m1...> - 2002-04-25 01:03:50
|
SUGIOKA Toshinobu wrote: > Cache handling improvement and such. Cool. Please commit it to 2.5.x trunk at first. Then, a week or two later, go to 2.4. -- |
From: SUGIOKA T. <su...@it...> - 2002-04-24 12:05:04
|
Cache handling improvement and such. (1) If we use P1 address while accessing Cache Address Array, we can use ASSOC bit without UTLB entry. (2) For flushing O-cache entry, we can use movca.l/ocbi pair while BL bit is set. This sequence can be executed in P1 area and does not cause any unnecessary bus cycles. (3) Delete some local labels from System.map in order to clean-up profiling output. I checked kernel profile on my SH-4(SH7750) board after following command 3 times. $ time for x in 0 1 2 3 4 5 6 7 8 9; do for y in 0 1 2 3 4 5 6 7 8 9; \ do sh -c "echo >/dev/null"; done; done Result is, kernel profile with old cache-sh4.c/clear_page.S 18 copy_page_range 0.0352 18 handle_mm_fault 0.0563 19 call_dpf 0.3167 19 do_page_fault 0.0205 19 filemap_nopage 0.0270 19 flush_tlb_range 0.0540 22 zap_page_range 0.0382 23 flush_cache_range 0.0513 56 __copy_user_page 0.6667 110 __flush_cache_4096_all 0.2022 2543 cpu_idle 15.8938 3161 total 0.0028 kernel profile with new cache-sh4.c/clear_page.S 11 system_call 0.1250 12 update_mmu_cache 0.0417 13 flush_tlb_range 0.0369 15 do_page_fault 0.0162 18 zap_page_range 0.0312 19 call_dpf 0.3167 19 copy_page_range 0.0371 20 flush_cache_4096_all 0.3125 23 filemap_nopage 0.0327 24 copy_page 0.3333 72 __copy_user_page 0.8571 2092 cpu_idle 13.0750 2610 total 0.0023 I will commit these changes if there is no objection. * arch/sh/mm/cache-sh4.c (CACHE_ASSOC): Defined. (flush_cache_4096_all): Moved to clear_page.S. (flush_cache_4096): Rewritten. Use __flush_cache_4096. (flush_dcache_page,__flush_cache_page): Don't protect from interrupt. (flush_cache_all): Rewritten. Use __flush_dcache_all. (flush_cache_range): Follow change of flush_cache_4096_all. * arch/sh/mm/clear_page.S (__flush_cache_4096_all): Removed. (flush_cache_4096_all): New implementation. (__flush_cache_4096): Optimized. Use ASSOC bit. (__flush_dcache_all): New function. (__clear_user): Clean-up local label. * copy_page.S (__copy_user): Clean-up local label. * arch/sh/kernel/time.c (sh_do_profile): Add profile even if PC is in P2 area. Index: arch/sh/kernel/time.c =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/kernel/time.c,v retrieving revision 1.1.1.1.2.1 diff -u -r1.1.1.1.2.1 time.c --- arch/sh/kernel/time.c 29 Mar 2002 00:01:07 -0000 1.1.1.1.2.1 +++ arch/sh/kernel/time.c 24 Apr 2002 10:11:16 -0000 @@ -183,6 +183,8 @@ if (!prof_buffer) return; + if(pc >= 0xa0000000UL && pc < 0xc0000000UL) + pc -= 0x20000000; pc -= (unsigned long) &_stext; pc >>= prof_shift; /* Index: arch/sh/mm/cache-sh4.c =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/mm/cache-sh4.c,v retrieving revision 1.1.1.1.2.5 diff -u -r1.1.1.1.2.5 cache-sh4.c --- arch/sh/mm/cache-sh4.c 3 Apr 2002 02:33:16 -0000 1.1.1.1.2.5 +++ arch/sh/mm/cache-sh4.c 24 Apr 2002 10:11:16 -0000 @@ -41,6 +41,7 @@ #define CACHE_OC_ADDRESS_ARRAY 0xf4000000 #define CACHE_VALID 1 #define CACHE_UPDATED 2 +#define CACHE_ASSOC 8 #define CACHE_OC_WAY_SHIFT 13 #define CACHE_IC_WAY_SHIFT 13 @@ -207,63 +208,25 @@ restore_flags(flags); } -static void flush_cache_4096_all(unsigned long start) -{ -#if defined(CONFIG_CPU_SUBTYPE_SH7751) || defined(CONFIG_CPU_SUBTYPE_ST40STB1) - /* - * SH7751 and ST40 have no restriction to handle cache. - * (While SH7750 must do that at P2 area.) - */ - unsigned long addr; - for (addr = start; addr < start + 4096; addr += 32) - ctrl_outl(0, addr); -#else - register unsigned long __r0 __asm__ ("r0") = 0; - register unsigned long __r1 __asm__ ("r1") = 128; - register unsigned long __r4 __asm__ ("r4"); - register unsigned long __r5 __asm__ ("r5"); - register unsigned long __r6 __asm__ ("r6"); - register unsigned long __r7 __asm__ ("r7"); - extern void __flush_cache_4096_all(unsigned long); - - asm volatile("jsr @%7; nop" - : "=&r" (__r4), "=&r" (__r5), "=&r" (__r6), "=&r" (__r7) - : "0" (start), "r" (__r0), "r" (__r1), - "r" (__flush_cache_4096_all + 0x20000000) - : "pr"); -#endif -} - static inline void flush_cache_4096(unsigned long start, unsigned long phys) { + unsigned long flags; + extern void __flush_cache_4096(unsigned long addr, unsigned long phys, unsigned long exec_offset); + #if defined(CONFIG_CPU_SUBTYPE_SH7751) || defined(CONFIG_CPU_SUBTYPE_ST40STB1) if (start >= CACHE_OC_ADDRESS_ARRAY) { /* * SH7751 and ST40 have no restriction to handle cache. * (While SH7750 must do that at P2 area.) */ - unsigned long addr, data; - for (addr = start; addr < start + 4096; addr += 32) { - data = ctrl_inl(addr)&(0x1ffff000|CACHE_VALID); - if (data == phys) - ctrl_outl(0, addr); - } + __flush_cache_4096(start | CACHE_ASSOC, phys | 0x80000000, 0); } else #endif { - register unsigned long addr __asm__ ("r4"); - register unsigned long data __asm__ ("r0"); - register unsigned long __r5 __asm__ ("r5") = phys; - register unsigned long __r6 __asm__ ("r6") = (0x1ffff000|CACHE_VALID); - register unsigned long __r7 __asm__ ("r7") = 0; - extern void __flush_cache_4096(unsigned long, unsigned long); - - asm volatile("jsr @%1; nop" - : "=r" (addr), "=r" (data) - : "0" (start), "1" (__flush_cache_4096 + 0x20000000), - "r" (__r5), "r" (__r6), "r" (__r7) - : "pr"); + save_and_cli(flags); + __flush_cache_4096(start | CACHE_ASSOC, phys | 0x80000000, 0x20000000); + restore_flags(flags); } } @@ -275,19 +238,12 @@ { if (test_bit(PG_mapped, &page->flags)) { unsigned long phys = PHYSADDR(page_address(page)); - unsigned long flags; - - phys |= CACHE_VALID; - - save_and_cli(flags); /* Loop all the D-cache */ flush_cache_4096(CACHE_OC_ADDRESS_ARRAY, phys); flush_cache_4096(CACHE_OC_ADDRESS_ARRAY | 0x1000, phys); flush_cache_4096(CACHE_OC_ADDRESS_ARRAY | 0x2000, phys); flush_cache_4096(CACHE_OC_ADDRESS_ARRAY | 0x3000, phys); - - restore_flags(flags); } } @@ -303,42 +259,11 @@ restore_flags(flags); } -#undef C_IMPLEMENTATION_OF_CACHE_ALL - void flush_cache_all(void) { - extern unsigned long empty_zero_page[1024]; + extern void __flush_dcache_all(void); - /* Prefetch the data to write back D-cache */ - -#ifdef C_IMPLEMENTATION_OF_CACHE_ALL - unsigned long addr; - - for (addr = (unsigned long)empty_zero_page; - addr < (unsigned long)empty_zero_page + 1024*16; - addr += L1_CACHE_BYTES) - asm volatile("pref @%0"::"r" (addr)); -#else - unsigned long a0, a1, a2, a3, cnt; - asm volatile( - "mov %0, %1; add #32, %1\n\t" - "mov %0, %2; add #64, %2\n\t" - "mov %1, %3; add #64, %3\n\t" - "1:\n\t" - "pref @%0\n\t" - "dt %4\n\t" - "pref @%1\n\t" - "add %5, %0\n\t" - "pref @%2\n\t" - "add %5, %1\n\t" - "pref @%3\n\t" - "add %5, %2\n\t" - "bf/s 1b\n\t" - " add %5, %3" - : "=&r" (a0), "=&r" (a1), "=&r" (a2), "=&r" (a3), "=&r" (cnt) - : "r" (32*4), "0" (empty_zero_page), "4" (1024*16/32/4) - : "t"); -#endif + __flush_dcache_all(); flush_icache_all(); } @@ -363,11 +288,6 @@ unsigned long address, unsigned long phys) { - unsigned long flags; - - phys |= CACHE_VALID; - save_and_cli(flags); - /* We only need to flush D-cache when we have alias */ if ((address^phys) & CACHE_ALIAS) { /* Loop 4K of the D-cache */ @@ -385,8 +305,6 @@ flush_cache_4096( CACHE_IC_ADDRESS_ARRAY | (address & 0x1000), phys); - - restore_flags(flags); } /* @@ -401,6 +319,8 @@ void flush_cache_range(struct mm_struct *mm, unsigned long start, unsigned long end) { + extern void flush_cache_4096_all(unsigned long start); + unsigned long p = start & PAGE_MASK; pgd_t *dir; pmd_t *pmd; @@ -438,13 +358,13 @@ } while (p < end); loop_exit: if (d & 1) - flush_cache_4096_all(CACHE_OC_ADDRESS_ARRAY); + flush_cache_4096_all(0); if (d & 2) - flush_cache_4096_all(CACHE_OC_ADDRESS_ARRAY | 0x1000); + flush_cache_4096_all(0x1000); if (d & 4) - flush_cache_4096_all(CACHE_OC_ADDRESS_ARRAY | 0x2000); + flush_cache_4096_all(0x2000); if (d & 8) - flush_cache_4096_all(CACHE_OC_ADDRESS_ARRAY | 0x3000); + flush_cache_4096_all(0x3000); flush_icache_all(); } Index: arch/sh/mm/clear_page.S =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/mm/clear_page.S,v retrieving revision 1.1.1.1.2.3 diff -u -r1.1.1.1.2.3 clear_page.S --- arch/sh/mm/clear_page.S 13 Apr 2002 02:35:20 -0000 1.1.1.1.2.3 +++ arch/sh/mm/clear_page.S 24 Apr 2002 10:11:16 -0000 @@ -67,25 +67,25 @@ add #31, r2 and r1, r2 cmp/eq r4, r2 - bt area1 + bt .Larea1 mov r2, r3 sub r4, r3 mov r3, r7 mov r4, r2 ! -l0: dt r3 +.L0: dt r3 0: mov.b r0, @r2 - bf/s l0 + bf/s .L0 add #1, r2 ! sub r7, r5 mov r2, r4 -area1: +.Larea1: mov r4, r3 add r5, r3 and r1, r3 cmp/hi r2, r3 - bf area2 + bf .Larea2 ! ! Clear area 1 #if defined(__SH4__) @@ -113,22 +113,22 @@ nop ! ! Clear area 2 -area2: +.Larea2: mov r4, r3 add r5, r3 cmp/hs r2, r3 - bt/s done + bt/s .Ldone sub r2, r3 -l2: dt r3 +.L2: dt r3 9: mov.b r0, @r2 - bf/s l2 + bf/s .L2 add #1, r2 ! -done: rts +.Ldone: rts mov #0, r0 ! return 0 as normal return ! return the number of bytes remained -bad_clear_user: +.Lbad_clear_user: mov r4, r0 add r5, r0 rts @@ -136,16 +136,16 @@ .section __ex_table,"a" .align 2 - .long 0b, bad_clear_user - .long 1b, bad_clear_user - .long 2b, bad_clear_user - .long 3b, bad_clear_user - .long 4b, bad_clear_user - .long 5b, bad_clear_user - .long 6b, bad_clear_user - .long 7b, bad_clear_user - .long 8b, bad_clear_user - .long 9b, bad_clear_user + .long 0b, .Lbad_clear_user + .long 1b, .Lbad_clear_user + .long 2b, .Lbad_clear_user + .long 3b, .Lbad_clear_user + .long 4b, .Lbad_clear_user + .long 5b, .Lbad_clear_user + .long 6b, .Lbad_clear_user + .long 7b, .Lbad_clear_user + .long 8b, .Lbad_clear_user + .long 9b, .Lbad_clear_user .previous #if defined(__SH4__) @@ -191,13 +191,27 @@ .L4096: .word 4096 ENTRY(__flush_cache_4096) - .rept 128 - mov.l @r4,r0 - and r6,r0 - cmp/eq r5,r0 - bf 1f - mov.l r7,@r4 -1: add #32,r4 + mov.l 1f,r3 + add r6,r3 + mov r4,r0 + mov #64,r2 + shll r2 + mov #64,r6 + jmp @r3 + mov #96,r7 + .align 2 +1: .long 2f +2: + .rept 32 + mov.l r5,@r0 + add #32,r5 + mov.l r5,@(32,r0) + add #32,r5 + mov.l r5,@(r0,r6) + add #32,r5 + mov.l r5,@(r0,r7) + add #32,r5 + add r2,r0 .endr nop nop @@ -209,32 +223,72 @@ rts nop -#if defined(CONFIG_CPU_SUBTYPE_SH7750) -ENTRY(__flush_cache_4096_all) - mov r4,r5 - mov r4,r6 - mov r4,r7 - add #32,r5 - add #-64,r6 - add #-32,r7 - .rept 32 - mov.l r0,@r4 - add r1,r6 - mov.l r0,@r5 - add r1,r7 - mov.l r0,@r6 - add r1,r4 - mov.l r0,@r7 - add r1,r5 - .endr - nop - nop - nop - nop - nop - nop - nop +ENTRY(__flush_dcache_all) + mov.l 2f,r0 + mov.l 3f,r4 + and r0,r4 ! r4 = (unsigned long)&empty_zero_page[0] & ~0xffffc000 + stc sr,r1 ! save SR + mov.l 4f,r2 + or r1,r2 + mov #32,r3 + shll2 r3 +1: + ldc r2,sr ! set BL bit + movca.l r0,@r4 + ocbi @r4 + add #32,r4 + movca.l r0,@r4 + ocbi @r4 + add #32,r4 + movca.l r0,@r4 + ocbi @r4 + add #32,r4 + movca.l r0,@r4 + ocbi @r4 + ldc r1,sr ! restore SR + dt r3 + bf/s 1b + add #32,r4 + rts nop -#endif + .align 2 +2: .long 0xffffc000 +3: .long SYMBOL_NAME(empty_zero_page) +4: .long 0x10000000 ! BL bit + +/* flush_cache_4096_all(unsigned long addr) */ +ENTRY(flush_cache_4096_all) + mov.l 2f,r0 + mov.l 3f,r2 + and r0,r2 + or r2,r4 ! r4 = addr | (unsigned long)&empty_zero_page[0] & ~0x3fff + stc sr,r1 ! save SR + mov.l 4f,r2 + or r1,r2 + mov #32,r3 +1: + ldc r2,sr ! set BL bit + movca.l r0,@r4 + ocbi @r4 + add #32,r4 + movca.l r0,@r4 + ocbi @r4 + add #32,r4 + movca.l r0,@r4 + ocbi @r4 + add #32,r4 + movca.l r0,@r4 + ocbi @r4 + ldc r1,sr ! restore SR + dt r3 + bf/s 1b + add #32,r4 + + rts + nop + .align 2 +2: .long 0xffffc000 +3: .long SYMBOL_NAME(empty_zero_page) +4: .long 0x10000000 ! BL bit #endif Index: arch/sh/mm/copy_page.S =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/mm/copy_page.S,v retrieving revision 1.1.1.1.2.4 diff -u -r1.1.1.1.2.4 copy_page.S --- arch/sh/mm/copy_page.S 17 Apr 2002 04:14:03 -0000 1.1.1.1.2.4 +++ arch/sh/mm/copy_page.S 24 Apr 2002 10:11:16 -0000 @@ -153,50 +153,50 @@ mov #12,r0 ! Check if small number of bytes cmp/gt r0,r6 bt 2f - bra L_cleanup_loop + bra .L_cleanup_loop nop 2: neg r5,r0 ! Calculate bytes needed to align source add #4,r0 and #3,r0 tst r0,r0 - bt L_jump + bt .L_jump mov r0,r1 -L_loop1: +.L_loop1: ! Copy bytes to align source EX( mov.b @r5+,r0 ) dt r1 EX( mov.b r0,@r4 ) add #-1,r6 - bf/s L_loop1 + bf/s .L_loop1 add #1,r4 -L_jump: +.L_jump: mov r6,r2 ! Calculate number of longwords to copy shlr2 r2 tst r2,r2 - bt L_cleanup + bt .L_cleanup mov r4,r0 ! Jump to appropriate routine and #3,r0 mov r0,r1 shll2 r1 - mova L_jump_tbl,r0 + mova .L_jump_tbl,r0 mov.l @(r0,r1),r1 jmp @r1 nop .align 2 -L_jump_tbl: - .long L_dest00 - .long L_dest01 - .long L_dest10 - .long L_dest11 +.L_jump_tbl: + .long .L_dest00 + .long .L_dest01 + .long .L_dest10 + .long .L_dest11 ! Destination = 00 -L_dest00: +.L_dest00: mov r2,r7 shlr2 r7 shlr r7 @@ -226,7 +226,7 @@ bf/s 2b add #32,r4 tst r2,r2 - bt L_cleanup + bt .L_cleanup 1: mov.l @r5+,r0 dt r2 @@ -234,12 +234,12 @@ bf/s 1b add #4,r4 - bra L_cleanup + bra .L_cleanup nop ! Destination = 10 -L_dest10: +.L_dest10: mov r2,r7 shlr2 r7 shlr r7 @@ -314,7 +314,7 @@ add #34,r4 #endif tst r2,r2 - bt L_cleanup + bt .L_cleanup 1: ! Read longword, write two words per iteration EX( mov.l @r5+,r0 ) @@ -331,13 +331,13 @@ bf/s 1b add #4,r4 - bra L_cleanup + bra .L_cleanup nop ! Destination = 01 or 11 -L_dest01: -L_dest11: +.L_dest01: +.L_dest11: ! Read longword, write byte, word, byte per iteration EX( mov.l @r5+,r0 ) dt r2 @@ -348,7 +348,7 @@ EX( mov.w r0,@r4 ) shlr16 r0 EX( mov.b r0,@(2,r4) ) - bf/s L_dest01 + bf/s .L_dest01 add #3,r4 #else EX( mov.b r0,@(3,r4) ) @@ -357,26 +357,26 @@ EX( mov.b r7,@r4 ) add #1,r4 EX( mov.w r0,@r4 ) - bf/s L_dest01 + bf/s .L_dest01 add #3,r4 #endif ! Cleanup last few bytes -L_cleanup: +.L_cleanup: mov r6,r0 and #3,r0 tst r0,r0 - bt L_exit + bt .L_exit mov r0,r6 -L_cleanup_loop: +.L_cleanup_loop: EX( mov.b @r5+,r0 ) dt r6 EX( mov.b r0,@r4 ) - bf/s L_cleanup_loop + bf/s .L_cleanup_loop add #1,r4 -L_exit: +.L_exit: mov #0,r0 ! normal return 5000: ---- SUGIOKA Toshinobu |
From: NIIBE Y. <gn...@m1...> - 2002-04-23 04:35:39
|
Changes from mainline. 2002-04-23 NIIBE Yutaka <gn...@m1...> * AGAINST-2.5.9: New file. * AGAINST-2.5.8: Removed. * Makefile: Version 2.5.9. * drivers/char/Makefile: Incorporate changes in 2.5.9. * drivers/pci/pci.ids: Likewise. * include/asm-sh/errno.h (E2BIG): Follow the change of i386 version. Index: Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/Makefile,v retrieving revision 1.16 diff -u -3 -p -r1.16 Makefile --- Makefile 23 Apr 2002 04:25:27 -0000 1.16 +++ Makefile 23 Apr 2002 04:32:46 -0000 @@ -1,6 +1,6 @@ VERSION = 2 PATCHLEVEL = 5 -SUBLEVEL = 8 +SUBLEVEL = 9 EXTRAVERSION =-sh KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) @@ -348,9 +348,9 @@ fs lib mm ipc kernel drivers net sound: $(MAKE) CFLAGS="$(CFLAGS) $(CFLAGS_KERNEL)" $(subst $@, _dir_$@, $@) TAGS: dummy - etags `find include/asm-$(ARCH) -name '*.h'` - find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' -print | xargs etags -a - find $(SUBDIRS) init -name '*.[ch]' | xargs etags -a + { find include/asm-${ARCH} -name '*.h' -print ; \ + find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' -print ; \ + find $(SUBDIRS) init -name '*.[ch]' ; } | grep -v SCCS | etags - # Exuberant ctags works better with -I tags: dummy Index: drivers/char/Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/char/Makefile,v retrieving revision 1.4 diff -u -3 -p -r1.4 Makefile --- drivers/char/Makefile 22 Mar 2002 04:44:45 -0000 1.4 +++ drivers/char/Makefile 23 Apr 2002 04:32:46 -0000 @@ -1,13 +1,6 @@ # # Makefile for the kernel character device drivers. # -# Note! Dependencies are done automagically by 'make dep', which also -# removes any old dependencies. DON'T put your own dependencies here -# unless it's something special (ie not a .c file). -# -# Note 2! The CFLAGS definitions are now inherited from the -# parent makes.. -# # # This file contains the font map for the default (hardware) font @@ -26,8 +19,6 @@ export-objs := busmouse.o console.o sonypi.o tty_io.o tty_ioctl.o generic_serial.o rtc.o mod-subdirs := ftape drm pcmcia - -list-multi := KEYMAP =defkeymap.o KEYBD =pc_keyb.o Index: drivers/pci/pci.ids =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/pci/pci.ids,v retrieving revision 1.7 diff -u -3 -p -r1.7 pci.ids --- drivers/pci/pci.ids 5 Apr 2002 04:45:00 -0000 1.7 +++ drivers/pci/pci.ids 23 Apr 2002 04:32:46 -0000 @@ -931,6 +931,9 @@ 121a NetServer SMIC Controller 121b NetServer Legacy COM Port Decoder 121c NetServer PCI COM Port Decoder + 1229 zx1 System Bus Adapter + 122a zx1 I/O Controller + 122e zx1 Local Bus Adapter 2910 E2910A 2925 E2925A 103e Solliday Engineering Index: include/asm-sh/errno.h =================================================================== RCS file: /cvsroot/linuxsh/linux/include/asm-sh/errno.h,v retrieving revision 1.1.1.1 diff -u -3 -p -r1.1.1.1 errno.h --- include/asm-sh/errno.h 15 Oct 2001 20:45:07 -0000 1.1.1.1 +++ include/asm-sh/errno.h 23 Apr 2002 04:32:46 -0000 @@ -7,7 +7,7 @@ #define EINTR 4 /* Interrupted system call */ #define EIO 5 /* I/O error */ #define ENXIO 6 /* No such device or address */ -#define E2BIG 7 /* Arg list too long */ +#define E2BIG 7 /* Argument list too long */ #define ENOEXEC 8 /* Exec format error */ #define EBADF 9 /* Bad file number */ #define ECHILD 10 /* No child processes */ |
From: Fabio G. <fg...@ti...> - 2002-04-22 17:55:53
|
Hi everybody. I have this trouble: 1) booting my kernel (2.4.18) everything runs good either booitng form sh-ipl+g either booting form ata card (b command) untill the kernel reach "partition check". 2) At "Partition Check" the kernel becomes very slow and I read: hda: lost interrupt hda: lost interrupt hda: lost interrupt hda: lost interrupt What I have to check? Thanks. Every suggestion will be appreciated. Fabio Giovagnini |
From: Fabio G. <fg...@ti...> - 2002-04-17 16:52:39
|
what means: Uniform Multi-Platform E-IDE driver Revision: 6.31 ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx hda: SanDisk SDCFB-16, ATA DISK drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 hda: 31360 sectors (16 MB) w/1KiB Cache, CHS=490/2/32 Partition check: hda:setup_e09a.c , e09a_c02_irq_demux , 274, irq = 32 /* my debug */ setup_e09a.c , get_irq_number , 335, isr1 = 0 setup_e09a.c , get_irq_number , 336, isr2 = 0 setup_e09a.c , e09a_c02_irq_demux , 276, irq_DEMUX = 14 setup_e09a.c , e09a_c02_irq_demux , 274, irq = 32 setup_e09a.c , get_irq_number , 335, isr1 = 0 setup_e09a.c , get_irq_number , 336, isr2 = 0 setup_e09a.c , e09a_c02_irq_demux , 276, irq_DEMUX = 14 setup_e09a.c , e09a_c02_irq_demux , 274, irq = 32 setup_e09a.c , get_irq_number , 335, isr1 = 0 setup_e09a.c , get_irq_number , 336, isr2 = 0 setup_e09a.c , e09a_c02_irq_demux , 276, irq_DEMUX = 14 hda: lost interrupt hda: lost interrupt hda: lost interrupt hda: lost interrupt where could I check to set interrupt from CF correctly? thanks |
From: Fabio G. <fg...@ti...> - 2002-04-16 16:15:23
|
Hi, what means in sh-lilo the following? switch (machine_type ()) { case 0: /* Unknown board */ { /* Build string "sh_mv=unknown,0xXXXXXX,1" */ unsigned int io = io_base (); int b31_24, b23_16, b15_08, b07_00; b31_24 = (io>>24)&0xff; b23_16 = (io>>16)&0xff; b15_08 = (io>>8)&0xff; b07_00 = (io>>0)&0xff; cmdline = string_set (cmdline, "sh_mv=unknown,0x"); *cmdline++ = highhex (b31_24); *cmdline++ = lowhex (b31_24); *cmdline++ = highhex (b23_16); *cmdline++ = lowhex (b23_16); *cmdline++ = highhex (b15_08); *cmdline++ = lowhex (b15_08); *cmdline++ = highhex (b07_00); *cmdline++ = lowhex (b07_00); cmdline = string_set (cmdline, ",1 "); break; } If I have defined my own board whta I have to do? Thanks. |
From: Fabio G. <fg...@ti...> - 2002-04-16 15:59:59
|
Hi, when I try to boot form ata cf I read something like the following: SH IPL+g version 0.9, Copyright (C) 2000 Free Software Foundation, Inc. This software comes with ABSOLUTELY NO WARRANTY; for details type `w'. This is free software, and you are welcome to redistribute it under certain conditions; type `l' for details. > b init_ata_card_config() : exit. Disk drive detected: SanDisk SDCFB-16 vde 1.10 24352331513 Set Transfer Mode result: 51 Initialize Device Parameters result: 50 IDLE result: 50 Booting... LILO boot: first-image Loading 2.4.18........done. Uncompressing Linux... Ok, booting the kernel. ...and no more. If I execute the same kernel using g command of sh-ipl+g I can see the correct behaviour. What Do I have to check? Thanks Note: 1) this is ,my lilo.conf which I use to run lilo -r /mnt/target with: linear boot=/dev/hde disk=/dev/hde bios=0x80 vga=normal delay=30 image=/boot/zImage label=2.4.18 root=/dev/hda1 read-only 2) this is my .gdbinit which I run sh-linux-gnu-gdb echo set endian little \n set endian little echo set remotebaud 115200 \n set remotebaud 115200 echo target remote /dev/ttyS0 \n target remote /dev/ttyS0 echo load \n load /root/sh/linux/arch/sh/boot/compressed/vmlinux set {long}0x8c001000 = 1 set {long}0x8c001004 = 0 # Set this value to 0x0301 to boot from /dev/hda1 # or to 0x0100 to boot from the initial ramdisk. set {long}0x8c001008 = 0x0100 set {long}0x8c00100c = 1 # This value is the initial ramdisk RAM start address set {long}0x8c001010 = 0x0 # This value is the initial ramdisk RAM size in bytes set {long}0x8c001014 = 0x0 set {long}0x8c001018 = 0 # The kernel command line. Comment out the second line and uncomment # out the remainder if you want to use the example. set $i = 0x8c001100 # set *$i++ = 0 #set *$i++ = 'm' #set *$i++ = 'e' #set *$i++ = 'm' #set *$i++ = '=' #set *$i++ = '3' #set *$i++ = '2' #set *$i++ = 'M' #set *$i++ = ' ' #set *$i++ = 's' #set *$i++ = 'h' #set *$i++ = '_' #set *$i++ = 'm' #set *$i++ = 'v' #set *$i++ = '=' #set *$i++ = 'c' #set *$i++ = 'a' #set *$i++ = 'r' #set *$i++ = 'd' #set *$i++ = '-' #set *$i++ = 'e' #set *$i++ = '0' #set *$i++ = '9' #set *$i++ = 'a' #set *$i++ = ' ' set *$i++ = 'c' set *$i++ = 'o' set *$i++ = 'n' set *$i++ = 's' set *$i++ = 'o' set *$i++ = 'l' set *$i++ = 'e' set *$i++ = '=' set *$i++ = 't' set *$i++ = 't' set *$i++ = 'y' set *$i++ = 'S' set *$i++ = 'C' set *$i++ = '0' set *$i++ = ',' set *$i++ = '1' set *$i++ = '1' set *$i++ = '5' set *$i++ = '2' set *$i++ = '0' set *$i++ = '0' set *$i++ = 0 # Uncommenting this will allow you to view the remote protocol packets. # set remotedebug 1 |
From: SUGIOKA T. <su...@it...> - 2002-04-15 11:40:40
|
This is new __copy_user implementation that improves performance in some case (for example large file transfer by FTP/HTTP). I will commit to current and 2.4 branch if there is no objection. 2002-04-16 SUGIOKA Toshinobu <su...@it...> * arch/sh/mm/copy_page.S (__copy_user): New function. * include/asm-sh/uaccess.h (__copy_user): Remove macro, declared as external function. Index: arch/sh/mm/copy_page.S =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/mm/copy_page.S,v retrieving revision 1.1.1.1.2.2 diff -u -r1.1.1.1.2.2 copy_page.S --- arch/sh/mm/copy_page.S 3 Apr 2002 02:33:16 -0000 1.1.1.1.2.2 +++ arch/sh/mm/copy_page.S 15 Apr 2002 11:19:44 -0000 @@ -129,3 +129,268 @@ nop #endif .L4096: .word 4096 +/* + * __kernel_size_t __copy_user(void *to, const void *from, __kernel_size_t n); + * Return the number of bytes NOT copied + */ +#define EX(...) \ + 9999: __VA_ARGS__ ; \ + .section __ex_table, "a"; \ + .long 9999b, 6000f ; \ + .previous +ENTRY(__copy_user) + tst r6,r6 ! Check explicitly for zero + bf 1f + rts + mov #0,r0 ! normal return +1: + mov.l r10,@-r15 + mov.l r9,@-r15 + mov.l r8,@-r15 + mov r4,r3 + add r6,r3 ! last destination address + mov #12,r0 ! Check if small number of bytes + cmp/gt r0,r6 + bt 2f + bra L_cleanup_loop + nop +2: + neg r5,r0 ! Calculate bytes needed to align source + add #4,r0 + and #3,r0 + tst r0,r0 + bt L_jump + mov r0,r1 + +L_loop1: + ! Copy bytes to align source +EX( mov.b @r5+,r0 ) + dt r1 +EX( mov.b r0,@r4 ) + add #-1,r6 + bf/s L_loop1 + add #1,r4 + +L_jump: + mov r6,r2 ! Calculate number of longwords to copy + shlr2 r2 + tst r2,r2 + bt L_cleanup + + mov r4,r0 ! Jump to appropriate routine + and #3,r0 + mov r0,r1 + shll2 r1 + mova L_jump_tbl,r0 + mov.l @(r0,r1),r1 + jmp @r1 + nop + + .align 2 +L_jump_tbl: + .long L_dest00 + .long L_dest01 + .long L_dest10 + .long L_dest11 + +! Destination = 00 + +L_dest00: + mov r2,r7 + shlr2 r7 + shlr r7 + tst r7,r7 + mov #7,r0 + bt/s 1f + and r0,r2 + .align 2 +2: +EX( mov.l @r5+,r0 ) +EX( mov.l @r5+,r8 ) +EX( mov.l @r5+,r9 ) +EX( mov.l @r5+,r10 ) +EX( mov.l r0,@r4 ) +EX( mov.l r8,@(4,r4) ) +EX( mov.l r9,@(8,r4) ) +EX( mov.l r10,@(12,r4) ) +EX( mov.l @r5+,r0 ) +EX( mov.l @r5+,r8 ) +EX( mov.l @r5+,r9 ) +EX( mov.l @r5+,r10 ) + dt r7 +EX( mov.l r0,@(16,r4) ) +EX( mov.l r8,@(20,r4) ) +EX( mov.l r9,@(24,r4) ) +EX( mov.l r10,@(28,r4) ) + bf/s 2b + add #32,r4 + tst r2,r2 + bt L_cleanup +1: + mov.l @r5+,r0 + dt r2 + mov.l r0,@r4 + bf/s 1b + add #4,r4 + + bra L_cleanup + nop + +! Destination = 10 + +L_dest10: + mov r2,r7 + shlr2 r7 + shlr r7 + tst r7,r7 + mov #7,r0 + bt/s 1f + and r0,r2 +2: + dt r7 +#ifdef __LITTLE_ENDIAN__ +EX( mov.l @r5+,r0 ) +EX( mov.l @r5+,r1 ) +EX( mov.l @r5+,r8 ) +EX( mov.l @r5+,r9 ) +EX( mov.l @r5+,r10 ) +EX( mov.w r0,@r4 ) + add #2,r4 + xtrct r1,r0 + xtrct r8,r1 + xtrct r9,r8 + xtrct r10,r9 + +EX( mov.l r0,@r4 ) +EX( mov.l r1,@(4,r4) ) +EX( mov.l r8,@(8,r4) ) +EX( mov.l r9,@(12,r4) ) + +EX( mov.l @r5+,r1 ) +EX( mov.l @r5+,r8 ) +EX( mov.l @r5+,r0 ) + xtrct r1,r10 + xtrct r8,r1 + xtrct r0,r8 + shlr16 r0 +EX( mov.l r10,@(16,r4) ) +EX( mov.l r1,@(20,r4) ) +EX( mov.l r8,@(24,r4) ) +EX( mov.w r0,@(28,r4) ) + bf/s 2b + add #30,r4 +#else +EX( mov.l @(28,r5),r0 ) +EX( mov.l @(24,r5),r8 ) +EX( mov.l @(20,r5),r9 ) +EX( mov.l @(16,r5),r10 ) +EX( mov.w r0,@(30,r4) ) + add #-2,r4 + xtrct r8,r0 + xtrct r9,r8 + xtrct r10,r9 +EX( mov.l r0,@(28,r4) ) +EX( mov.l r8,@(24,r4) ) +EX( mov.l r9,@(20,r4) ) + +EX( mov.l @(12,r5),r0 ) +EX( mov.l @(8,r5),r8 ) + xtrct r0,r10 +EX( mov.l @(4,r5),r9 ) + mov.l r10,@(16,r4) +EX( mov.l @r5,r10 ) + xtrct r8,r0 + xtrct r9,r8 + xtrct r10,r9 +EX( mov.l r0,@(12,r4) ) +EX( mov.l r8,@(8,r4) ) + swap.w r10,r0 +EX( mov.l r9,@(4,r4) ) +EX( mov.w r0,@(2,r4) ) + + add #32,r5 + bf/s 2b + add #34,r4 +#endif + tst r2,r2 + bt L_cleanup + +1: ! Read longword, write two words per iteration +EX( mov.l @r5+,r0 ) + dt r2 +#ifdef __LITTLE_ENDIAN__ +EX( mov.w r0,@r4 ) + shlr16 r0 +EX( mov.w r0,@(2,r4) ) +#else +EX( mov.w r0,@(2,r4) ) + shlr16 r0 +EX( mov.w r0,@r4 ) +#endif + bf/s 1b + add #4,r4 + + bra L_cleanup + nop + +! Destination = 01 or 11 + +L_dest01: +L_dest11: + ! Read longword, write byte, word, byte per iteration +EX( mov.l @r5+,r0 ) + dt r2 +#ifdef __LITTLE_ENDIAN__ +EX( mov.b r0,@r4 ) + shlr8 r0 + add #1,r4 +EX( mov.w r0,@r4 ) + shlr16 r0 +EX( mov.b r0,@(2,r4) ) + bf/s L_dest01 + add #3,r4 +#else +EX( mov.b r0,@(3,r4) ) + shlr8 r0 + swap.w r0,r7 +EX( mov.b r7,@r4 ) + add #1,r4 +EX( mov.w r0,@r4 ) + bf/s L_dest01 + add #3,r4 +#endif + +! Cleanup last few bytes +L_cleanup: + mov r6,r0 + and #3,r0 + tst r0,r0 + bt L_exit + mov r0,r6 + +L_cleanup_loop: +EX( mov.b @r5+,r0 ) + dt r6 +EX( mov.b r0,@r4 ) + bf/s L_cleanup_loop + add #1,r4 + +L_exit: + mov #0,r0 ! normal return +5000: + +# Exception handler: +.section .fixup, "ax" +6000: + mov.l 8000f,r1 + mov r3,r0 + jmp @r1 + sub r4,r0 + .align 2 +8000: .long 5000b + +.previous + mov.l @r15+,r8 + mov.l @r15+,r9 + rts + mov.l @r15+,r10 Index: include/asm-sh/uaccess.h =================================================================== RCS file: /cvsroot/linuxsh/linux/include/asm-sh/uaccess.h,v retrieving revision 1.1.1.1.2.2 diff -u -r1.1.1.1.2.2 uaccess.h --- include/asm-sh/uaccess.h 29 Mar 2002 00:01:08 -0000 1.1.1.1.2.2 +++ include/asm-sh/uaccess.h 15 Apr 2002 11:19:44 -0000 @@ -244,42 +244,7 @@ /* Generic arbitrary sized copy. */ /* Return the number of bytes NOT copied */ -/* XXX: should be such that: 4byte and the rest. */ -static __inline__ __kernel_size_t -__copy_user(void *__to, const void *__from, __kernel_size_t __n) -{ - unsigned long __dummy, _f, _t; - __kernel_size_t res; - - if ((res = __n)) - __asm__ __volatile__( - "9:\n\t" - "mov.b @%2+, %1\n\t" - "dt %0\n" - "1:\n\t" - "mov.b %1, @%3\n\t" - "bf/s 9b\n\t" - " add #1, %3\n" - "2:\n" - ".section .fixup,\"ax\"\n" - "3:\n\t" - "mov.l 5f, %1\n\t" - "jmp @%1\n\t" - " add #1, %0\n\t" - ".balign 4\n" - "5: .long 2b\n" - ".previous\n" - ".section __ex_table,\"a\"\n" - " .balign 4\n" - " .long 9b,2b\n" - " .long 1b,3b\n" - ".previous" - : "=r" (res), "=&z" (__dummy), "=r" (_f), "=r" (_t) - : "2" (__from), "3" (__to), "0" (res) - : "memory", "t"); - - return res; -} +extern __kernel_size_t __copy_user(void *to, const void *from, __kernel_size_t n); #define copy_to_user(to,from,n) ({ \ void *__copy_to = (void *) (to); \ ---- SUGIOKA Toshinobu |
From: NIIBE Y. <gn...@m1...> - 2002-04-15 09:39:11
|
Change from mailine. 2002-04-15 NIIBE Yutaka <gn...@m1...> * Makefile: Version 2.5.8. * AGAINST-2.5.8: New file. * AGAINST-2.5.8-pre3: Removed. * drivers/block/rd.c: Incorporate changes in 2.5.8-pre3 -> final. Index: drivers/block/rd.c =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/block/rd.c,v retrieving revision 1.7 diff -u -3 -p -r1.7 rd.c --- drivers/block/rd.c 10 Apr 2002 11:09:39 -0000 1.7 +++ drivers/block/rd.c 15 Apr 2002 09:37:16 -0000 @@ -156,7 +156,6 @@ static int rd_blkdev_pagecache_IO(int rw do { int count; - struct page ** hash; struct page * page; char * src, * dst; int unlock = 0; @@ -166,8 +165,7 @@ static int rd_blkdev_pagecache_IO(int rw count = size; size -= count; - hash = page_hash(mapping, index); - page = __find_get_page(mapping, index, hash); + page = find_get_page(mapping, index); if (!page) { page = grab_cache_page(mapping, index); err = -ENOMEM; -- |
From: NIIBE Y. <gn...@m1...> - 2002-04-13 04:41:58
|
You mean, in the case of connecting it to SuperH. For i386, the difference is big, because memory access and I/O access is diffeent thing totally (in hardware and software). For SuperH, where I/O is mapped to memory address space, there's not so much. However, there's one big issue, interrupt. It get interrupted only when accessing I/O mode, this is my experience. Hope this helps. -- |
From: Stuart M. <stu...@st...> - 2002-04-12 20:22:49
|
PCMCIA actually supports three different address spaces: - attribute - read by the CPU to determine what card is plugged in, and possibly to configure the card as a whole. - I/O - used for control registers of device(s) on the card, eg for a serial port pr network device - memory - normally used for real memory: RAM, Flash etc, but can also be used for device control registers. They share the same address and data lines, but different control lines go active to indicate which space is being read or written. All cards must support config space, whether they support memory or I/O depends on the card designer. When a card is plugged in, it is always assumed to be a memory only card. This allows the Card Information Structure (CIS) to be read from the card, which tells the driver what types of card this is. If it is an I/O card, or multifunction card (I/O and memory), then the PCMCIA interface hardware must be told this, and certain pins on the PCMCIA interface change their function to support I/O addressing. I suspect this is what you mean by memory mode and I/O mode. Stuart On Fri, 12 Apr 2002 18:12:25 +0200 fg...@ti... wrote: > If you know explane to me. > > Thanks. > > _______________________________________________ > linuxsh-dev mailing list > lin...@li... > https://lists.sourceforge.net/lists/listinfo/linuxsh-dev -- Stuart Menefy stu...@st... STMicroelectronics Ltd ST Intranet: mo.bri.st.com Bristol, UK Rest of the World: www.linuxsh.st.com |