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: <mks...@ya...> - 2002-06-11 07:40:40
|
Hi all, I am developing an SH IPL+g for an SH7727 based board. I downloaded a motorola S3 format file to the flash rom. But when i boot the board,i couldnt find any response in my tera term emulator. I dont know why this happen? Does any one knows how to debug my sh ipl+g ?? Regards, Manoj K.S __________________________________________________ Do You Yahoo!? Everything you'll ever need on one web page from News and Sport to Email and Music Charts http://uk.my.yahoo.com |
From: <mks...@ya...> - 2002-06-10 07:33:04
|
Hi all, I am developing an SH ipl+g boot loader to download it to the Flash. I have with me the ipl+g-sh2000-20011107.tar.gz I have downloaded a motoroal S3 format bootloader to the flash. I use Tera Term serial port emulator to get the responses at the serial port. But on booting,I am not getting any response in my Tera term. My question,whether i have to add a serial port driver to get responses in my tera term emulator? or if the serial driver is already there with the ipl+g-sh2000-20011107.tar.gz Thanks and regards, Manoj K.S __________________________________________________ Do You Yahoo!? Everything you'll ever need on one web page from News and Sport to Email and Music Charts http://uk.my.yahoo.com |
From: YAEGASHI T. <t...@ke...> - 2002-06-08 16:24:46
|
Hi, The CVS kernel seems still broken and cannot build. Here's the patch of some bug fix and updates, especially for hp690 and Dreamcast. I hope this helps someone. This patch includes updates of memory management code along with CONFIG_DISCONTIGMEM support for hp690. With this patch hp690 seems to work fine in discontiguous 32MB RAM configuration. For Dreamcast, the kernel boots up normally, but after entering multi-user mode it occasionally complains kernel BUG in mm/slab.c. I'm not certain whether my changes cause this bug or not. Index: ChangeLog =================================================================== RCS file: /cvsroot/linuxsh/linux/ChangeLog,v retrieving revision 1.73 diff -u -r1.73 ChangeLog --- ChangeLog 28 May 2002 02:16:43 -0000 1.73 +++ ChangeLog 8 Jun 2002 15:09:48 -0000 @@ -1,3 +1,40 @@ +2002-06-08 YAEGASHI Takeshi <t...@ke...> + + General updates. + * arch/sh/boot/compressed/Makefile: Supply jiffies_64 symbol value + which is referred in vmlinux.lds. + * arch/sh/kernel/pcibios.c (pcibios_align_resource): Remove old + function prototype. + * arch/sh/kernel/sh_ksyms.c: Include <linux/tty.h> to export + screen_info symbol. + * include/asm-sh/processsor.h: Include <linux/cache.h> which need to + be included from drivers/pci/pci.c. + + Dreamcast updates. + * arch/sh/kernel/pci-dc.c: Place subsys_initcall(pcibios_init). + * drivers/input/joystick/maplecontrol.c: Include <linux/slab.h> + instead of obsoleted <linux/malloc.h>. + + MM updates and CONFIG_DISCONTIGMEM support. + * include/asm-sh/pgalloc.h (pmd_free_tlb): Bug fix. + (ptep_get_and_clear): Bug fix. + * include/asm-sh/page.h (__PFN_START): New macro. + (page_to_pfn, pfn_to_page, pfn_valid, virt_to_page, + virt_addr_valid): Define macros according to CONFIG_DISCONTIGMEM. + (VALID_PAGE): Removed. + (page_to_phys, phys_to_page): New definitions. + * include/asm-sh/mmzone.h (PHYSADDR_TO_NID): New definition. + (PFN_TO_NID, ADDR_TO_MAPBASE, PFN_TO_MAPBASE, LOCAL_MAP_NR): New + macros. + (VALID_PAGE, phys_to_page, page_to_phys): Removed. + * include/asm-sh/pgtable.h (pte_pfn, pfn_pte): New macros. + * arch/sh/mm/init.c (discontig_page_data): Declare with each bdata + member initilized. + (mem_init): Adjust max_mapnr, num_phys_pages, high_memory when + CONFIG_DISCONTIGMEM=y. + * arch/sh/kernel/setup.c (setup_arch): Don't reinitialize already + initialized NODE_DATA's. + 2002-05-24 Paul Mundt <le...@ch...> * arch/sh/Config.help, arch/sh/config.in, arch/sh/kernel/Makefile: Index: arch/sh/boot/compressed/Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/boot/compressed/Makefile,v retrieving revision 1.1.1.1 diff -u -r1.1.1.1 Makefile --- arch/sh/boot/compressed/Makefile 15 Oct 2001 20:44:47 -0000 1.1.1.1 +++ arch/sh/boot/compressed/Makefile 8 Jun 2002 15:09:48 -0000 @@ -13,7 +13,7 @@ OBJECTS += ../../kernel/sh_bios.o endif -ZLDFLAGS = -e startup -T $(TOPDIR)/arch/sh/vmlinux.lds +ZLDFLAGS = -e startup -T $(TOPDIR)/arch/sh/vmlinux.lds --defsym jiffies_64=0 # # ZIMAGE_OFFSET is the load offset of the compression loader Index: arch/sh/kernel/pci-dc.c =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/kernel/pci-dc.c,v retrieving revision 1.1.1.1 diff -u -r1.1.1.1 pci-dc.c --- arch/sh/kernel/pci-dc.c 15 Oct 2001 20:44:49 -0000 1.1.1.1 +++ arch/sh/kernel/pci-dc.c 8 Jun 2002 15:09:49 -0000 @@ -164,13 +164,14 @@ } -void __init pcibios_init(void) +static void __init pcibios_init(void) { pci_root_bus = pci_scan_bus(0, &pci_config_ops, NULL); /* pci_assign_unassigned_resources(); */ pci_fixup_irqs(no_swizzle, map_dc_irq); } +subsys_initcall(pcibios_init); /* Haven't done anything here as yet */ char * __init pcibios_setup(char *str) Index: arch/sh/kernel/pcibios.c =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/kernel/pcibios.c,v retrieving revision 1.2 diff -u -r1.2 pcibios.c --- arch/sh/kernel/pcibios.c 23 May 2002 01:31:04 -0000 1.2 +++ arch/sh/kernel/pcibios.c 8 Jun 2002 15:09:49 -0000 @@ -60,7 +60,6 @@ * addresses to be allocated in the 0x000-0x0ff region * modulo 0x400. */ -void pcibios_align_resource(void *data, struct resource *res, unsigned long size) void pcibios_align_resource(void *data, struct resource *res, unsigned long size, unsigned long align) { Index: arch/sh/kernel/setup.c =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/kernel/setup.c,v retrieving revision 1.6 diff -u -r1.6 setup.c --- arch/sh/kernel/setup.c 24 May 2002 14:40:45 -0000 1.6 +++ arch/sh/kernel/setup.c 8 Jun 2002 15:09:49 -0000 @@ -352,9 +352,6 @@ #define PFN_PHYS(x) ((x) << PAGE_SHIFT) #ifdef CONFIG_DISCONTIGMEM - NODE_DATA(0)->bdata = &discontig_node_bdata[0]; - NODE_DATA(1)->bdata = &discontig_node_bdata[1]; - bootmap_size = init_bootmem_node(NODE_DATA(1), PFN_UP(__MEMORY_START_2ND), PFN_UP(__MEMORY_START_2ND), Index: arch/sh/kernel/sh_ksyms.c =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/kernel/sh_ksyms.c,v retrieving revision 1.4 diff -u -r1.4 sh_ksyms.c --- arch/sh/kernel/sh_ksyms.c 12 Apr 2002 04:26:28 -0000 1.4 +++ arch/sh/kernel/sh_ksyms.c 8 Jun 2002 15:09:49 -0000 @@ -11,6 +11,7 @@ #include <linux/vmalloc.h> #include <linux/pci.h> #include <linux/irq.h> +#include <linux/tty.h> #include <asm/semaphore.h> #include <asm/processor.h> Index: arch/sh/mm/init.c =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/mm/init.c,v retrieving revision 1.4 diff -u -r1.4 init.c --- arch/sh/mm/init.c 22 May 2002 07:37:02 -0000 1.4 +++ arch/sh/mm/init.c 8 Jun 2002 15:09:49 -0000 @@ -45,8 +45,11 @@ unsigned long mmu_context_cache; #ifdef CONFIG_DISCONTIGMEM -pg_data_t discontig_page_data[NR_NODES]; -bootmem_data_t discontig_node_bdata[NR_NODES]; +static bootmem_data_t discontig_node_bdata[NR_NODES]; +pg_data_t discontig_page_data[NR_NODES] = { + { bdata: &discontig_node_bdata[0] }, + { bdata: &discontig_node_bdata[1] }, +}; #endif void show_mem(void) @@ -142,6 +145,11 @@ max_mapnr = num_physpages = MAX_LOW_PFN - START_PFN; high_memory = (void *)__va(MAX_LOW_PFN * PAGE_SIZE); +#ifdef CONFIG_DISCONTIGMEM + max_mapnr += __MEMORY_SIZE_2ND >> PAGE_SHIFT; + num_physpages += __MEMORY_SIZE_2ND >> PAGE_SHIFT; + high_memory = (void *)__va(__MEMORY_START_2ND + __MEMORY_SIZE_2ND); +#endif /* clear the zero-page */ memset(empty_zero_page, 0, PAGE_SIZE); Index: drivers/input/joystick/maplecontrol.c =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/input/joystick/maplecontrol.c,v retrieving revision 1.1 diff -u -r1.1 maplecontrol.c --- drivers/input/joystick/maplecontrol.c 19 Mar 2002 23:50:07 -0000 1.1 +++ drivers/input/joystick/maplecontrol.c 8 Jun 2002 15:09:49 -0000 @@ -5,7 +5,7 @@ */ #include <linux/kernel.h> -#include <linux/malloc.h> +#include <linux/slab.h> #include <linux/input.h> #include <linux/module.h> #include <linux/init.h> Index: include/asm-sh/mmzone.h =================================================================== RCS file: /cvsroot/linuxsh/linux/include/asm-sh/mmzone.h,v retrieving revision 1.1.1.1 diff -u -r1.1.1.1 mmzone.h --- include/asm-sh/mmzone.h 15 Oct 2001 20:45:10 -0000 1.1.1.1 +++ include/asm-sh/mmzone.h 8 Jun 2002 15:09:49 -0000 @@ -11,11 +11,19 @@ #include <linux/config.h> /* Currently, just for HP690 */ -#define PHYSADDR_TO_NID(phys) ((((phys) - __MEMORY_START) >= 0x01000000)?1:0) +static inline int __physaddr_to_nid(unsigned long phys) +{ + if (phys >= __MEMORY_START && phys < __MEMORY_START_2ND) + return 0; + if (phys >= __MEMORY_START_2ND && + phys < __MEMORY_START_2ND + __MEMORY_SIZE_2ND) + return 1; + return 2; +} +#define PHYSADDR_TO_NID(phys) __physaddr_to_nid(phys) #define NR_NODES 2 extern pg_data_t discontig_page_data[NR_NODES]; -extern bootmem_data_t discontig_node_bdata[NR_NODES]; #ifdef CONFIG_DISCONTIGMEM /* @@ -37,25 +45,30 @@ */ #define NODE_MEM_MAP(nid) (NODE_DATA(nid)->node_mem_map) -#define phys_to_page(phys) \ -({ unsigned int node = PHYSADDR_TO_NID(phys); \ - NODE_MEM_MAP(node) \ - + (((phys) - NODE_DATA(node)->node_start_paddr) >> PAGE_SHIFT); }) +/* + * Given a page frame number, convert it to a node id. + */ +#define PFN_TO_NID(pfn) PHYSADDR_TO_NID((pfn) << PAGE_SHIFT) -static inline int is_valid_page(struct page *page) -{ - unsigned int i; +/* + * Given a kaddr, ADDR_TO_MAPBASE finds the owning node of the memory + * and return the mem_map of that node. + */ +#define ADDR_TO_MAPBASE(kaddr) NODE_MEM_MAP(KVADDR_TO_NID(kaddr)) - for (i = 0; i < NR_NODES; i++) { - if (page >= NODE_MEM_MAP(i) && - page < NODE_MEM_MAP(i) + NODE_DATA(i)->node_size) - return 1; - } - return 0; -} +/* + * Given a page frame number, find the owning node of the memory + * and return the mem_map of that node. + */ +#define PFN_TO_MAPBASE(pfn) NODE_MEM_MAP(PFN_TO_NID(pfn)) -#define VALID_PAGE(page) is_valid_page(page) -#define page_to_phys(page) PHYSADDR(page_address(page)) +/* + * Given a kaddr, LOCAL_MEM_MAP finds the owning node of the memory + * and returns the index corresponding to the appropriate page in the + * node's mem_map. + */ +#define LOCAL_MAP_NR(addr) \ + (((unsigned long)(addr) & 0x00ffffff) >> PAGE_SHIFT) #endif /* CONFIG_DISCONTIGMEM */ #endif Index: include/asm-sh/page.h =================================================================== RCS file: /cvsroot/linuxsh/linux/include/asm-sh/page.h,v retrieving revision 1.2 diff -u -r1.2 page.h --- include/asm-sh/page.h 22 Mar 2002 03:58:40 -0000 1.2 +++ include/asm-sh/page.h 8 Jun 2002 15:09:49 -0000 @@ -70,6 +70,7 @@ #define __MEMORY_START CONFIG_MEMORY_START #define __MEMORY_SIZE CONFIG_MEMORY_SIZE +#define __PFN_START (__MEMORY_START >> PAGE_SHIFT) #ifdef CONFIG_DISCONTIGMEM /* Just for HP690, for now.. */ #define __MEMORY_START_2ND (__MEMORY_START+0x02000000) @@ -80,16 +81,60 @@ #define __pa(x) ((unsigned long)(x)-PAGE_OFFSET) #define __va(x) ((void *)((unsigned long)(x)+PAGE_OFFSET)) -#ifndef CONFIG_DISCONTIGMEM -#define phys_to_page(phys) (mem_map + (((phys)-__MEMORY_START) >> PAGE_SHIFT)) -#define VALID_PAGE(page) ((page - mem_map) < max_mapnr) -#define page_to_phys(page) (((page - mem_map) << PAGE_SHIFT) + __MEMORY_START) -#endif - #define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \ VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) -#define virt_to_page(kaddr) phys_to_page(__pa(kaddr)) +/* + * Conversion between a struct page and a physical address. + * + * Note: when converting an unknown physical address to a + * struct page, the resulting pointer must be validated + * using VALID_PAGE(). It must return an invalid struct page + * for any physical address not corresponding to a system + * RAM address. + * + * page_to_pfn(page) convert a struct page * to a PFN number + * pfn_to_page(pfn) convert a _valid_ PFN number to struct page * + * pfn_valid(pfn) indicates whether a PFN number is valid + * + * virt_to_page(k) convert a _valid_ virtual address to struct page * + * virt_addr_valid(k) indicates whether a virtual address is valid + */ +#ifndef CONFIG_DISCONTIGMEM + +#define page_to_pfn(page) (((page) - mem_map) + __PFN_START) +#define pfn_to_page(pfn) ((mem_map + (pfn)) - __PFN_START) +#define pfn_valid(pfn) ((pfn) >= __PFN_START && (pfn) < __PFN_START + max_mapnr) + +#define virt_to_page(kaddr) pfn_to_page(__pa(kaddr) >> PAGE_SHIFT) +#define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT) + +#else +/* + * This is more complex. We have a set of mem_map arrays spread + * around in memory. + */ +#define page_to_pfn(page) \ + (((page) - page_zone(page)->zone_mem_map) \ + + (page_zone(page)->zone_start_paddr >> PAGE_SHIFT)) + +#define pfn_to_page(pfn) \ + (PFN_TO_MAPBASE(pfn) + LOCAL_MAP_NR((pfn) << PAGE_SHIFT)) + +#define pfn_valid(pfn) (PFN_TO_NID(pfn) < NR_NODES) + +#define virt_to_page(kaddr) \ + (ADDR_TO_MAPBASE(kaddr) + LOCAL_MAP_NR(kaddr)) + +#define virt_addr_valid(kaddr) (KVADDR_TO_NID(kaddr) < NR_NODES) + +#endif + +/* + * For BIO. "will die". Kill me when bio_to_phys() and bvec_to_phys() die. + */ +#define page_to_phys(page) (page_to_pfn(page) << PAGE_SHIFT) +#define phys_to_page(phys) pfn_to_page((phys) >> PAGE_SHIFT) #ifndef __ASSEMBLY__ Index: include/asm-sh/pgalloc.h =================================================================== RCS file: /cvsroot/linuxsh/linux/include/asm-sh/pgalloc.h,v retrieving revision 1.9 diff -u -r1.9 pgalloc.h --- include/asm-sh/pgalloc.h 23 May 2002 01:51:13 -0000 1.9 +++ include/asm-sh/pgalloc.h 8 Jun 2002 15:09:49 -0000 @@ -47,7 +47,7 @@ #define pmd_alloc_one(mm, addr) ({ BUG(); ((pmd_t *)2); }) #define pmd_free(x) do { } while (0) -#define pmd_free_tlb(x) do { } while (0) +#define pmd_free_tlb(tlb, x) do { } while (0) #define pgd_populate(mm, pmd, pte) BUG() #if defined(__SH4__) @@ -65,7 +65,7 @@ struct page *page; unsigned long pfn = pte_pfn(pte); if (pfn_valid(pfn)) { - page = pfn_to_page(page); + page = pfn_to_page(pfn); if (!page->mapping || list_empty(&page->mapping->i_mmap_shared)) __clear_bit(PG_mapped, &page->flags); Index: include/asm-sh/pgtable.h =================================================================== RCS file: /cvsroot/linuxsh/linux/include/asm-sh/pgtable.h,v retrieving revision 1.9 diff -u -r1.9 pgtable.h --- include/asm-sh/pgtable.h 22 May 2002 07:37:02 -0000 1.9 +++ include/asm-sh/pgtable.h 8 Jun 2002 15:09:49 -0000 @@ -132,6 +132,9 @@ #define __S110 PAGE_SHARED #define __S111 PAGE_SHARED +#define pte_pfn(pte) (pte_val(pte) >> PAGE_SHIFT) +#define pfn_pte(pfn,prot) (__pte(((pfn) << PAGE_SHIFT) | pgprot_val(prot))) + #define pte_none(x) (!pte_val(x)) #define pte_present(x) (pte_val(x) & (_PAGE_PRESENT | _PAGE_PROTNONE)) #define pte_clear(xp) do { set_pte(xp, __pte(0)); } while (0) Index: include/asm-sh/processor.h =================================================================== RCS file: /cvsroot/linuxsh/linux/include/asm-sh/processor.h,v retrieving revision 1.4 diff -u -r1.4 processor.h --- include/asm-sh/processor.h 19 Mar 2002 23:48:06 -0000 1.4 +++ include/asm-sh/processor.h 8 Jun 2002 15:09:49 -0000 @@ -9,6 +9,7 @@ #include <asm/page.h> #include <asm/types.h> +#include <linux/cache.h> #include <linux/threads.h> /* -- YAEGASHI Takeshi <t...@ke...> <ta...@ya...> <yae...@do...> |
From: Clarke, S. <ste...@su...> - 2002-06-07 17:55:11
|
> From: Adrian McMenamin [mailto:ad...@mc...]=20 > Sent: Friday, June 07, 2002 9:17 AM > To: Moffat,Boyd; lin...@li... > Cc: lin...@m1... > Subject: Re: [linux-sh:02390] Re: [linuxsh-dev] English translation? >=20 >=20 > On Friday 07 Jun 2002 5:15 pm, Adrian McMenamin wrote: > > Having thought about this a bit more, is there a standard C runtime=20 > > that Hitachi distribute/support and is it documented anywhere=20 > > (preferably in English, but Japanese would do :->)? > > >=20 > D'oh! >=20 > http://www.hitachi-sk.co.jp/Products/SH-C/ The following may also be useful, in case you haven't already seen it. http://semiconductor.hitachi.com/tools/SHcompilerManual.pdf Steve. |
From: Adrian M. <ad...@mc...> - 2002-06-07 16:14:45
|
On Friday 07 Jun 2002 5:15 pm, Adrian McMenamin wrote: > Having thought about this a bit more, is there a standard C runtime that > Hitachi distribute/support and is it documented anywhere (preferably in > English, but Japanese would do :->)? > D'oh! http://www.hitachi-sk.co.jp/Products/SH-C/ (I assume) |
From: Adrian M. <ad...@mc...> - 2002-06-07 16:13:28
|
Having thought about this a bit more, is there a standard C runtime that Hitachi distribute/support and is it documented anywhere (preferably in English, but Japanese would do :->)? Thanks Adrian |
From: Adrian M. <ad...@mc...> - 2002-06-07 13:40:15
|
On Friday 07 Jun 2002 8:59 am, Boyd Moffat wrote: > Adrian, > > I understand that there isn't an English translation (at least from > Hitachi SK in Japan)- however the page is execution times for the Hitach > C run time - not the gnu run times. > > Was this what you were after? Thanks. Somebody had already pointed me in the direction of the altavista Japanese -> English translation service, so I have been able to read what it was all about. I could see they were C runtimes, but I wondered what some of them were, that's all. Thanks again. Adrian |
From: Boyd M. <boy...@su...> - 2002-06-07 08:01:17
|
Adrian, I understand that there isn't an English translation (at least from Hitachi SK in Japan)- however the page is execution times for the Hitach C run time - not the gnu run times. Was this what you were after? If you are after the Hitachi C RTL times it may be best to speak to Hitachi directly in Europe. Regards Boyd > -----Original Message----- > From: lin...@li... > [mailto:lin...@li...] On Behalf Of > Adrian McMenamin > Sent: 29 May 2002 23:47 > To: lin...@li... > Cc: lin...@m1... > Subject: [linuxsh-dev] English translation? > > > Can anyone tell me if there is an English (or other European > language) > translation available for this page: > http://www.hitachi-sk.co.jp/Products/SH-C/AppNote/chap5/0505.htm Many thanks Adrian _______________________________________________________________ Don't miss the 2002 Sprint PCS Application Developer's Conference August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm _______________________________________________ linuxsh-dev mailing list lin...@li... https://lists.sourceforge.net/lists/listinfo/linuxsh-dev |
From: <mks...@ya...> - 2002-06-07 07:19:46
|
Hi all, I am developing an SH IPL+g for an SH7727 based board. I downloaded a motorola S3 format file to the flash rom. But when i boot the board,i couldnt find any response in my tera term emulator. I dont know why this happen? Does any one knows how to debug my sh ipl+g ?? Regards, Manoj K.S __________________________________________________ Do You Yahoo!? Everything you'll ever need on one web page from News and Sport to Email and Music Charts http://uk.my.yahoo.com |
From: Fabio G. <fg...@ti...> - 2002-06-05 10:57:35
|
Yes. it's the same format. Regards Fabio Giovagnini On Wednesday 05 June 2002 04:13, manoj ks wrote: > Dear All, > I have an sh-stub.srec sh ipl+g bootloader. > How to convert this .srec file to .mot file? > Is there any difference between .srec file and .mot > file? > > The last record in my srec file is > S7058008000072 > > But document says that > The end record (end of file) is almost the same: > S9030000FC > > Regards, > Manoj K.S > > > > __________________________________________________ > Do You Yahoo!? > Everything you'll ever need on one web page > from News and Sport to Email and Music Charts > http://uk.my.yahoo.com > > _______________________________________________________________ > > Don't miss the 2002 Sprint PCS Application Developer's Conference > August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm > > _______________________________________________ > linuxsh-dev mailing list > lin...@li... > https://lists.sourceforge.net/lists/listinfo/linuxsh-dev |
From: <mks...@ya...> - 2002-06-05 02:13:24
|
Dear All, I have an sh-stub.srec sh ipl+g bootloader. How to convert this .srec file to .mot file? Is there any difference between .srec file and .mot file? The last record in my srec file is S7058008000072 But document says that The end record (end of file) is almost the same: S9030000FC Regards, Manoj K.S __________________________________________________ Do You Yahoo!? Everything you'll ever need on one web page from News and Sport to Email and Music Charts http://uk.my.yahoo.com |
From: BrainCoders.com <mai...@br...> - 2002-06-04 07:26:07
|
<html> <head> <title>BrainCoders.com - Low Cost Software Development</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="description" content= "BrainCoders.com is a software company dedicated to designing and developing the highest-quality software to provide our clients with workable, maintainable and leading-edge solutions. We are specializing in IT services and software outsourcing."> <meta name="keywords" content= "BrainCoders, BrainCoders.com, outsourcing, software development, software, development, programmer, developer, programmers, developers, design, 3D, graphics, digital, video, computer, editing, webdesign, animation, special effects, tools, media"> <script type="text/javascript" language="JavaScript"> <!-- function MM_reloadPage(init) { //reloads the window if Nav4 resized if (init==true) with (navigator) { if ((appName == "Netscape") && (parseInt(appVersion) == 4)) { document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; } } else if (innerWidth != document.MM_pgW || innerHeight != document.MM_pgH) location.reload(); } MM_reloadPage(true); // --> </script> <style type="text/css"> .link { font-family: Verdana; font-size: 8pt; font-weight: normal; } BODY { scrollbar-darkshadow-color: #1F2406; scrollbar-track-color: #6B762D; scrollbar-face-color: #CFD89E; scrollbar-arrow-color: #FFFFFF; scrollbar-highlight-color: black; scrollbar-3dlight-color: #1F2406; font-family: Verdana; font-size: 8pt; } TD, TH { font-family: Verdana; font-size: 8pt; } BLOCKQUOTE { font-family: Verdana; font-size: 9pt; } .menutext { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 7pt; font-weight: normal; color: #525200; text-decoration: none } .tabletxt { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; font-weight: normal; color: #525200; text-decoration: none } .bottomtxt { font-family: Arial, Helvetica, sans-serif; font-size: 9px; font-weight: normal; color: #525200; text-decoration: none } </style> </head> <body background="http://www.braincoders.com/background.gif" text= "#000000" topmargin="1" leftmargin="1" marginwidth="0" marginheight="0" onload="MM_reloadPage(true);"> <table width="600" border="0" cellspacing="0" cellpadding="0" height="89" background="http://www.braincoders.com/background.gif"> <tr> <td width="39" height="90"></td> <td width="760" height="90"> <div align="right"><img src= "http://www.braincoders.com/toplogo.jpg" width="550" height="64" border="0"></div> </td> </tr> </table> <table width="601" border="0" cellspacing="0" cellpadding="0" height="30" align="left" bgcolor="#CFD89E"> <tr> <td nowrap width="22"> </td> <td nowrap> <div align="right">| <a href= "http://www.braincoders.com/about.html" class="menutext" onmouseover="this.style.color='#F5FAD3'" onmouseout= "this.style.color='#525200'">About Us</a> | <a href= "http://www.braincoders.com/srv.html" class="menutext" onmouseover= "this.style.color='#F5FAD3'" onmouseout= "this.style.color='#525200'">Services</a> | <a href= "http://www.braincoders.com/staff.html" class="menutext" onmouseover="this.style.color='#F5FAD3'" onmouseout= "this.style.color='#525200'">Staff</a> | <a href= "http://www.braincoders.com/workflow.html" class="menutext" onmouseover="this.style.color='#F5FAD3'" onmouseout= "this.style.color='#525200'">Workflow</a> | <a href= "http://www.braincoders.com/contact.html" class="menutext" onmouseover="this.style.color='#F5FAD3'" onmouseout= "this.style.color='#525200'">Contact Us</a> | <a href= "http://www.braincoders.com/outadv.html" class="menutext" onmouseover="this.style.color='#F5FAD3'" onmouseout= "this.style.color='#525200'">Outsourcing Advantages</a> | <a href="http://www.braincoders.com/faq.html" class="menutext" onmouseover="this.style.color='#F5FAD3'" onmouseout= "this.style.color='#525200'">FAQ</a> |</div> </td> </tr> </table> <p> </p> <div style= "position:absolute; width:560; z-index:1; left: 57px; top: 154px; visibility: visible"> <table width="545" border="1" cellspacing="0" cellpadding="1"> <tr> <td> <table width="500" border="0" cellspacing="0" cellpadding="0" align="center"> <tr> <td bordercolor="#CCCC99" valign="top" align="left" height="500"> <blockquote> <p><br> </p> </blockquote> <p><br> <font class="tabletxt"><b>Dear Internet User,</b></font></p> <p><font class="tabletxt"><b>The eBusiness</b> is changing the <b>software applications</b> and services landscape in a way that has not been seen earlier. Companies worldwide are waking up to the fact that the difference between just having an <b>Online Presence</b> and using the web as a <b>strategic medium</b> can mean all the difference to success.</font></p> <p><font class="tabletxt">What this also means is that you need <b>technology providers</b> who understand the business implications of technology and can make sure that the solutions work with your exisiting business processes as also enable you to integrate new processes without massive investments in changing the whole <b>Application Architecture</b>.</font></p> <p><font class="tabletxt"><b>BrainCoders.com</b> is a software company dedicated to designing and developing the <b>highest-quality</b> software to provide our clients with workable, maintainable and leading-edge solutions. We are specializing in IT services and <b>software outsourcing</b>.</font></p> <ul> <li><font class="tabletxt"><b>Our prices are one of the lowest on the market. We charge our customers from $8 to $15 per working hour depending on the length and complexity of the project.</b></font></li> <li><font class="tabletxt"><b>Our leading principle is to consistently deliver on time and on budget.</b></font></li> <li><font class="tabletxt"><b>Our most value asset is our team of most committed and capable people.</b></font></li> </ul> <p><font class="tabletxt">This dedication to high degrees of professionalism translates to innovative and <b>cost effective</b> solutions. The bottom line is that we help our clients gain competitive advantage and maintain their <b>leading positions</b> in their respective industries.</font></p> <p><font class="tabletxt"><b>BrainCoders.com</b>' software development services may be of special interest to the following groups of potential customers:</font></p> <ul> <li><font class="tabletxt"><b>Software houses that wish to reduce their development costs by means of outsourcing.</b></font></li> <li><font class="tabletxt"><b>Companies not directly involved in software development, but which have or need their proprietary software business applications and wish to delegate the development, upgrades and support of these applications to a software company.</b></font></li> </ul> <br> <p><font class="tabletxt">I am looking forward to hearing from you.</font></p> <br> <p><font class="tabletxt"><b>Best Regards,</b></font></p> <p><font class="tabletxt">Vesselin Sladkov<br> BrainCoders.com<br> E-mail: <a href= "mailto:sl...@br...">sl...@br...</a></font></p> <br> </td> </tr> </table> </td> </tr> <tr> <td bordercolor="#CCCC99" valign="top" align="left" height="21"> </td> </tr> <tr> <td bordercolor="#CCCC99" valign="top" align="center"><font class= "bottomtxt">This mailing is done only to people who have requested info from one of our sites, or downloaded our Software. If you have recieved this email in error and you wish to be removed from future mailings, please reply with the subject "<b>Remove</b>" and our software will automatically block you from their future mailings.<br> <br> </font> </td> </tr> </table> </div> </body> </html> |
From: <mks...@ya...> - 2002-06-04 01:59:26
|
Hi all, I am a newbie in porting linux. I am trying to write SH IPl+g into the flash of a SH7727F based board.It does not have an ether net . It has 4MB ROM and 2MB RAM. I have with me the ipl+g-sh2000-20011107.tar.gz I tried, cd /home/developer tar xzf /mnt/cdrom/ipl+g-sh2000-20011107.tar.gz cd ipl+g make clean I have modified files and make sh-stub.exe 1. Config.h-SH7727(Copied from config.h-sesh3) #define CONFIG_LITTLE_ENDIAN 1 #define CONFIG_SH7727 1 #define CONFIG_SCIF 1 #define CONFIG_SOLUTION_ENGINE 1 #define CONFIG_ROM_START 0x80080000 #define CONFIG_ROM_LENGTH 0x8000 #define CONFIG_RAM_START 0x8c000000 #define CONFIG_RAM_BOOT (CONFIG_RAM_START+0x200000) #define CONFIG_MEMORY_SIZE 0x02000000 2. Config.mk-SH7727(Copied from config.mk-sesh3) CONFIG_LITTLE_ENDIAN=y CONFIG_CPU_SH3=y CONFIG_SH7727=y 3. I made init-SH7727.S(Only copied from init-SH2000.S,not modified any thing). 4. SH7727.mem(Copied from sesh3.mem) MEMORY { ROM (rx): ORIGIN = 0x80080000, LENGTH = 524288 RAM (rw): ORIGIN = 0x8c000000, LENGTH = 2560 STACK (rw): ORIGIN = 0x8c000a00, LENGTH = 1536 } 4. Modified the make file by adding and entry for SH7727. I have downloaded the sh ipl+g bootloader(I want to downdoad it to 0x0008 0000-Bank 1)in motorola Srecord file to the flash ROM. But upon booting,it is not respoding.That is i am not getting any response through the serial port(I am using Tera Term as the terminal emulator). 1. Could any one pls specify me some debugging methods? 2. Also in which portion of init-SH7727.S should i have to modify for BSC setting?? I badly needs some help on this. Awaiting your valuable replies, Manoj K.S __________________________________________________ Do You Yahoo!? Everything you'll ever need on one web page from News and Sport to Email and Music Charts http://uk.my.yahoo.com |
From: Eze j. <eze...@ya...> - 2002-05-30 22:07:42
|
Attention=3ATHE MANAGING DIRECTOR From=3AEngr=2EEze john E-mail=3Aeze=5Fjohn2002=40yahoo=2Ecom Alternative E-mail=3Aeze=5Fjohn2002=40email=2Ecom Fax=3A234-8023262046=28to send a fax press 2=29 Dear Sir=2C =22Quest to Invest in Real Estate Properties=2FImports I am Engr=2EEze john former special adviser on Crude Petroleum matters to the late Head of State of Government of Nigeria Gen=2E Sani Abacha=2EBecause of my strategic position in the former Government and also being a close confidant of the late Head of State=2CI was able to acquire personally the sum of$40=2C000=2C000=2E00 USD =28FORTY MILLION US DOLLARS only =29presently lodged in the three different Nigerian Bank=2E I made this money largely through =22CONSULTANCY FEE=22 and Good Faith Fees=22 paid by foreign Oil companies prior to Allocation of Deep Water Oil Blocs and other Lifting=2Fprospecting Right =28Nigeria is the 6th largest Producer=2FExporter of Crude Petroleum in the World=2E As you are probably aware Nigeria is prone to Military coups and the resultant Political=2FEconomic Instability has fueled hyper Inflation=2Camongst other problems=2E I have therefore resolved to invest my money abroad=2Cpreferable in Real Estate Properties and Importation of Goods from your country for safety and optimum returns on Investment=2E However=2C straight transfer of this money into a bank abroad will present two major problems one=2C the tax incidence will be too high=2C as much as 60% of this money will go up in Taxes=2C Levies=2C Penalties etc=2E as a result of Government deliberate restrictions on flight of capital Abroad=2E The solution is to Courier this money cash Abroad=2C through Courier Service Company here in Nigeria in conjuction with an embassy here in Nigeria=2Cthe money will be packed in a =22Diplomatic Bag=2FCarton=22 tagged Diplomatic lauggage which will be address to you=2E This system is secret and the money is therefore Untraceable=2E It is system used by most top Government officials to remove their fortunes to safety abroad=2E I have therefore concluded every arrangements with a Courier Company in Nigeria to Courier this money abroad using the courtesy and safety of Diplomatic Bag=2E All I now need is an honest partner who can receive the money on my behalf and help me to invest as aforementioned=2E There is absolutely no risk involved in this transaction as the money will be delivered to you in United States Dollars Bills=2E If you are interested in assisting me=2C please send to me by email immediately your preferred contact address where this money will be delivered to you=2C upon delivery=2C you are to lodge this money in a bank account and contact me for necessary arrangements for the investment=2E For your help and assistance in this deal=2C you will receive 20% of this money in cash or Equity if you wish to join the proposed company=2E5% of it will be used for any expenses incurred both locally and internationally=2EWhile the rest will be used for investment and my upkeep=2E Finally you are to please urgently send to me through email the required contact address and other vital contact information like your private telephone and fax numbers=2E I await your urgent response=2E Warm Regards Engr=2EEze john |
From: Adrian M. <ad...@mc...> - 2002-05-29 22:45:30
|
Can anyone tell me if there is an English (or other European language) translation available for this page: http://www.hitachi-sk.co.jp/Products/SH-C/AppNote/chap5/0505.htm Many thanks Adrian |
From: Matan Ziv-Av <ma...@sv...> - 2002-05-29 15:30:57
|
Hello, FlexBox is a router based on SH-4 (7751). The main things on the board are 7751, 128MB ram, 3 NatSemi DP83816 PCI ethernet controllers, 2MB CFI Flash, and 16MB MMC SPI flash, which is connected to the SCI. This patch for 2.4.18 (with the dropin tree, which I downloaded from SF, I don't know what it's name is), adds an option for this board to the config options. In general, I would not think there is much reason to add this patch to the main kernel, but it adds the 7751R PCI ID, necessary for using PCI on this chip. Later I will add the support for the extended cache of the 7751R (it has double sized, two way associative cache than the 7751). -- Matan Ziv-Av. ma...@sv... |
From: Jeremy S. <js...@mv...> - 2002-05-28 18:02:49
|
manoj ks wrote: > I have gone through the site > http://linuxsh.sourceforge.net/docs/gdb-p.ph3 > but i am not clear on my above doubts. > Could any one pls help on how should i modify the > config.mk and config.h and sh37727.mem files. Not sure what to add to the above document. If you start with the machine/config.mk-sesh3 as an example: CONFIG_LITTLE_ENDIAN=y CONFIG_CPU_SH3=y CONFIG_SESH3=y You keep or drop the first line (ENDIAN) depending on your HW; keep the second (it is an SH3); replace the third with something specifying your target (e.g. CONFIG_BOARDNAME=y). Similarly with the .h file. Then you modify the Makefile so your configuration references the BSC initialization file for your board: +ifdef CONFIG_BOARDNAME +MACHINE_DEPENDS := init-boardname.o +endif You have to generate init-boardname.S yourself based on your specific HW and the BSC for the 7727. (The 7727 BSC is similar but not identical to the 7709A BSC.) While some existing files (e.g. init-cqsh3.S) might serve as a guide the actual values that go into the BSC registers depend on your specific HW... any low-level SW or FW that configures the BSC must be tailored for the HW, not just the CPU. You might also need to use CONFIG_BOARDNAME in sh-sci.c to determine the correct value for BPS_SETTING_VALUE (baud rate divisor) based on the clock speed of your board. And of course you need to set CONFIG_SCIF or CONFIG_SCI in the .h file. > My memory maps are > Flash ROM- BANK0(0000 0000 to 0007 FFFF) > BANK1(0008 0000 to 000F FFFF) > ............................. > ............................. > BANK7(0038 0000 to 003E FFFF) > > SDRAM - BANK0 to BANK 3(0C00 0000 to 0C3F FFFF). > > For sh37727.mem,could you pls specify how i should > fill the 'XXX' > > MEMORY > > { > ROM (rx): ORIGIN = XXX, LENGTH =XXX > RAM (rw): ORIGIN =XXX , LENGTH =XXX > STACK (rw): ORIGIN = XXX, LENGTH = XXXX > > } Your first posting says you want IPL to be in "BANK1", so you probably want: ROM(rx): ORIGIN=0x80080000, LENGTH=16384 The leading 8 just puts you in P1 space (direct-mapped) rather than P0; the length just needs to be big enough to hold the text and read-only space (that's what sh-stub.lds puts into ROM). If you add stuff (e.g. to initialize other devices) you may need to expand it; you could just make it the whole bank (LENGTH=512k) if it makes you more comfortable. The other two you can just safely copy from others: RAM(rw): ORIGIN=0x8c000000, LENGTH=2560 STACK(rw): ORIGIN=0x8c000a00, LENGTH=1536 Hope some of that's at least a little bit helpful... --Jeremy Siegel |
From: <mks...@ya...> - 2002-05-28 02:33:11
|
Dear All, I am a new bie in linux porting to SH37727F board.This board has no ethernet support.Only serial port. I am in the process of making a boot loader(SH-IPL+g ) for this board. Could any one pls help on how should i modify the config.mk and config.h and sh37727.mem files. My memory maps are Flash ROM- BANK0(0000 0000 to 0007 FFFF) BANK1(0008 0000 to 000F FFFF) ............................. ............................. BANK7(0038 0000 to 003E FFFF) SDRAM - BANK0 to BANK 3(0C00 0000 to 0C3F FFFF). For sh37727.mem,could you pls specify how i should fill the 'XXX' MEMORY { ROM (rx): ORIGIN = XXX, LENGTH =XXX RAM (rw): ORIGIN =XXX , LENGTH =XXX STACK (rw): ORIGIN = XXX, LENGTH = XXXX } Awaiting your precious replies, Thanks and regards, Manoj K.S __________________________________________________ Do You Yahoo!? Everything you'll ever need on one web page from News and Sport to Email and Music Charts http://uk.my.yahoo.com |
From: NIIBE Y. <gn...@m1...> - 2002-05-28 02:18:29
|
Paul Mundt wrote: > diff -x CVS -urN linux-sh-head.orig/arch/sh/kernel/ubc.S linux-sh-head/arch= > /sh/kernel/ubc.S > --- linux-sh-head.orig/arch/sh/kernel/ubc.S Wed Dec 31 19:00:00 1969 > +++ linux-sh-head/arch/sh/kernel/ubc.S Thu May 23 11:59:33 2002 > @@ -0,0 +1,53 @@ > +/* > + * arch/sh/kernel/ubc.S > + * > + * Set of management routines for the User Break Controller (UBC) > + * > + * Copyright (C) 2002 Paul Mundt > + * > + * This program is free software; you can redistribute it and/or modify it > + * under the terms of the GNU General Public License as published by the > + * Free Software Foundation; either version 2 of the License, or (at your > + * option) any later version. > + */ > +#include <linux/linkage.h> > +#include <asm/ubc.h> > + > +#define STBCR2 0xffc00010 > + > +ENTRY(ubc_sleep) > + mov #0, r0 > + > + mov.l 1f, r1 ! Zero out UBC_BBRA .. > + mov.w r0, @r1 > + > + mov.l 2f, r1 ! .. same for BBRB .. > + mov.w r0, @r1 > + > + mov.l 3f, r1 ! .. and again for BRCR. > + mov.w r0, @r1 > + > + mov.w @r1, r0 ! Dummy read BRCR > + > + mov.l 4f, r1 ! Set MSTP5 in STBCR2 > + mov.b @r1, r0 > + or #0x01, r0 > + mov.b r0, @r1 > + > + mov.b @r1, r0 ! Two dummy reads .. > + mov.b @r1, r0 we should have "rts" + "nop" here. > + > +ENTRY(ubc_wakeup) > + mov.l 4f, r1 ! Clear MSTP5 > + mov.b @r1, r0 > + and #0xfe, r0 > + mov.b r0, @r1 > + > + mov.b @r1, r0 ! Two more dummy reads .. > + mov.b @r1, r0 We should have "rts" + "nop" here. > + > +1: .long UBC_BBRA > +2: .long UBC_BBRB > +3: .long UBC_BRCR > +4: .long STBCR2 |
From: <mks...@ya...> - 2002-05-27 07:03:33
|
Dear All, I am a newbie in linux porting. I have to download sh-ipl+g to a SH37727 based target board(No ethernet support).The board is used in telephone.SH37727 board has 2 MB RAM and 4MB ROM. I have got the sh-ipl+g for a SH37709A based board(Ethernet supported).This IPL supports SH37709A.SH3 7709A board has 16MB RAM and 2MB ROM) I want to generate a .mot file for downloading the image. My doubt are 1) whether IPL for SH37709A and SH37727 board is the same? 2) If not same,Could you pls provide me the steps to make the IPL For SH37727? 3) While making the IPL in which files i should specify the memory map of my target SH37727 board? SH37727 Board details My Flash ROM(4MB) map is 0000 0000-0007 FFFF(Bank 0) to 0037 FFFF-003E FFFF(Bank 7).I want to load my IPL at BANK 1(0008 0000-000F FFFF). The SDRAM(2MB) map is from 0C00 0000 to OC3F FFFF. I have gone through the site http://linuxsh.sourceforge.net/docs/gdb-p.ph3 but i am not clear on my above doubts. Could you please share your valuable ideas on this. regars, manoj __________________________________________________ Do You Yahoo!? Everything you'll ever need on one web page from News and Sport to Email and Music Charts http://uk.my.yahoo.com |
From: Heusel, J. <Joh...@na...> - 2002-05-23 19:28:49
|
Hi, i am a GNU newby and i got some problems with my makefile. After the complete project was compiled without an error the linker puts out the followed error message. h:\GnuCompiler\sh-elf\lib\ml\libgcc.a(__main.o): in function '__do_global_ctors': __main.o(.text+0x7c): undefined reference to 'atexit' Can anyone give me some informations what could went wrong? Regards Johannes |
From: Paul M. <pau...@ti...> - 2002-05-23 16:23:54
|
Any objections to the following? I have a pesky SE7750 here that's been putting the UBC to sleep on me, this patch fixes these issues. No idea how many more of these are out there. (Hopefully Evolution won't mangle this too badly.) Regards, --=20 Paul Mundt pau...@ti... TimeSys Corporation 2002-05-23 Paul Mundt <le...@ch...> * arch/sh/Config.help, arch/sh/config.in, arch/sh/kernel/Makefile: Add CONFIG_UBC_WAKEUP definitions. * arch/sh/kernel/setup.c (setup_arch): Call ubc_wakeup() if CONFIG_UBC_WAKEUP=3Dy. * arch/sh/kernel/ubc.S: New file. * include/asm-sh/ptrace.h: Move UBC definitions out to a UBC-specific header. * include/asm-sh/ubc.h: New file. diff -x CVS -urN linux-sh-head.orig/arch/sh/Config.help linux-sh-head/arch/= sh/Config.help --- linux-sh-head.orig/arch/sh/Config.help Fri Mar 22 05:52:09 2002 +++ linux-sh-head/arch/sh/Config.help Thu May 23 12:10:07 2002 @@ -640,6 +640,14 @@ =20 If unsure, say N. =20 +CONFIG_UBC_WAKEUP + Selecting this option will wakeup the User Break Controller (UBC) on + startup. Although the UBC is left in an awake state when the processor + comes up, some boot loaders misbehave by putting the UBC to sleep in a + power saving state, which causes issues with things like ptrace(). + + If unsure, say N. + CONFIG_SH_DMA Selecting this option will provide same API as PC's Direct Memory Access Controller(8237A) for SuperH DMAC. diff -x CVS -urN linux-sh-head.orig/arch/sh/config.in linux-sh-head/arch/sh= /config.in --- linux-sh-head.orig/arch/sh/config.in Thu May 23 12:11:08 2002 +++ linux-sh-head/arch/sh/config.in Thu May 23 11:34:13 2002 @@ -161,6 +161,7 @@ int 'HD64465 IRQ' CONFIG_HD64465_IRQ 5 fi =20 +bool 'Wakeup UBC on startup' CONFIG_UBC_WAKEUP bool 'DMA controller (DMAC) support' CONFIG_SH_DMA =20 bool 'PCI support' CONFIG_PCI diff -x CVS -urN linux-sh-head.orig/arch/sh/kernel/Makefile linux-sh-head/a= rch/sh/kernel/Makefile --- linux-sh-head.orig/arch/sh/kernel/Makefile Mon Oct 15 16:44:47 2001 +++ linux-sh-head/arch/sh/kernel/Makefile Fri May 17 16:15:46 2002 @@ -16,7 +16,7 @@ =20 obj-y :=3D process.o signal.o entry.o traps.o irq.o irq_ipr.o \ ptrace.o setup.o time.o sys_sh.o semaphore.o \ - irq_imask.o io.o io_generic.o sh_ksyms.o + irq_imask.o io.o io_generic.o sh_ksyms.o ubc.o =20 obj-$(CONFIG_CF_ENABLER) +=3D cf-enabler.o obj-$(CONFIG_CPU_SH4) +=3D fpu.o diff -x CVS -urN linux-sh-head.orig/arch/sh/kernel/setup.c linux-sh-head/ar= ch/sh/kernel/setup.c --- linux-sh-head.orig/arch/sh/kernel/setup.c Fri Mar 22 07:57:10 2002 +++ linux-sh-head/arch/sh/kernel/setup.c Thu May 23 12:09:23 2002 @@ -478,6 +478,17 @@ clear_thread_flag(TIF_USEDFPU); current->used_math =3D 0; #endif + +#ifdef CONFIG_UBC_WAKEUP + /* + * Some brain-damaged loaders decided it would be a good idea to put + * the UBC to sleep. This causes some issues when it comes to things + * like PTRACE_SINGLESTEP or doing hardware watchpoints in GDB. So .. + * we wake it up and hope that all is well. + */ + ubc_wakeup(); +#endif + paging_init(); } =20 diff -x CVS -urN linux-sh-head.orig/arch/sh/kernel/ubc.S linux-sh-head/arch= /sh/kernel/ubc.S --- linux-sh-head.orig/arch/sh/kernel/ubc.S Wed Dec 31 19:00:00 1969 +++ linux-sh-head/arch/sh/kernel/ubc.S Thu May 23 11:59:33 2002 @@ -0,0 +1,53 @@ +/* + * arch/sh/kernel/ubc.S + * + * Set of management routines for the User Break Controller (UBC) + * + * Copyright (C) 2002 Paul Mundt + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + */ +#include <linux/linkage.h> +#include <asm/ubc.h> + +#define STBCR2 0xffc00010 + +ENTRY(ubc_sleep) + mov #0, r0 + + mov.l 1f, r1 ! Zero out UBC_BBRA .. + mov.w r0, @r1 + + mov.l 2f, r1 ! .. same for BBRB .. + mov.w r0, @r1 + + mov.l 3f, r1 ! .. and again for BRCR. + mov.w r0, @r1 + + mov.w @r1, r0 ! Dummy read BRCR + + mov.l 4f, r1 ! Set MSTP5 in STBCR2 + mov.b @r1, r0 + or #0x01, r0 + mov.b r0, @r1 + + mov.b @r1, r0 ! Two dummy reads .. + mov.b @r1, r0 + +ENTRY(ubc_wakeup) + mov.l 4f, r1 ! Clear MSTP5 + mov.b @r1, r0 + and #0xfe, r0 + mov.b r0, @r1 + + mov.b @r1, r0 ! Two more dummy reads .. + mov.b @r1, r0 + +1: .long UBC_BBRA +2: .long UBC_BBRB +3: .long UBC_BRCR +4: .long STBCR2 + diff -x CVS -urN linux-sh-head.orig/include/asm-sh/ptrace.h linux-sh-head/i= nclude/asm-sh/ptrace.h --- linux-sh-head.orig/include/asm-sh/ptrace.h Thu Mar 28 19:02:04 2002 +++ linux-sh-head/include/asm-sh/ptrace.h Thu May 23 11:30:06 2002 @@ -2,6 +2,7 @@ #define __ASM_SH_PTRACE_H =20 #include <asm/processor.h> +#include <asm/ubc.h> =20 /* * Copyright (C) 1999, 2000 Niibe Yutaka @@ -68,68 +69,6 @@ #define user_mode(regs) (((regs)->sr & 0x40000000)=3D=3D0) #define instruction_pointer(regs) ((regs)->pc) extern void show_regs(struct pt_regs *); - -/* User Break Controller */ - -#if defined(CONFIG_CPU_SUBTYPE_SH7709) -#define UBC_TYPE_SH7729 (cpu_data->type =3D=3D CPU_SH7729) -#else -#define UBC_TYPE_SH7729 0 -#endif - -#if defined(__sh3__) -#define UBC_BARA 0xffffffb0 -#define UBC_BAMRA 0xffffffb4 -#define UBC_BBRA 0xffffffb8 -#define UBC_BASRA 0xffffffe4 -#define UBC_BARB 0xffffffa0 -#define UBC_BAMRB 0xffffffa4 -#define UBC_BBRB 0xffffffa8 -#define UBC_BASRB 0xffffffe8 -#define UBC_BDRB 0xffffff90 -#define UBC_BDMRB 0xffffff94 -#define UBC_BRCR 0xffffff98 -#elif defined(__SH4__) -#define UBC_BARA 0xff200000 -#define UBC_BAMRA 0xff200004 -#define UBC_BBRA 0xff200008 -#define UBC_BASRA 0xff000014 -#define UBC_BARB 0xff20000c -#define UBC_BAMRB 0xff200010 -#define UBC_BBRB 0xff200014 -#define UBC_BASRB 0xff000018 -#define UBC_BDRB 0xff200018 -#define UBC_BDMRB 0xff20001c -#define UBC_BRCR 0xff200020 -#endif - -#define BAMR_ASID (1 << 2) -#define BAMR_NONE 0 -#define BAMR_10 0x1 -#define BAMR_12 0x2 -#define BAMR_ALL 0x3 -#define BAMR_16 0x8 -#define BAMR_20 0x9 - -#define BBR_INST (1 << 4) -#define BBR_DATA (2 << 4) -#define BBR_READ (1 << 2) -#define BBR_WRITE (2 << 2) -#define BBR_BYTE 0x1 -#define BBR_HALF 0x2 -#define BBR_LONG 0x3 -#define BBR_QUAD (1 << 6) /* SH7750 */ -#define BBR_CPU (1 << 6) /* SH7709A,SH7729 */ -#define BBR_DMA (2 << 6) /* SH7709A,SH7729 */ - -#define BRCR_CMFA (1 << 15) -#define BRCR_CMFB (1 << 14) -#define BRCR_PCTE (1 << 11) -#define BRCR_PCBA (1 << 10) /* 1: after execution */ -#define BRCR_DBEB (1 << 7) -#define BRCR_PCBB (1 << 6) -#define BRCR_SEQ (1 << 3) -#define BRCR_UBDE (1 << 0) #endif =20 #endif /* __ASM_SH_PTRACE_H */ diff -x CVS -urN linux-sh-head.orig/include/asm-sh/ubc.h linux-sh-head/incl= ude/asm-sh/ubc.h --- linux-sh-head.orig/include/asm-sh/ubc.h Wed Dec 31 19:00:00 1969 +++ linux-sh-head/include/asm-sh/ubc.h Thu May 23 11:30:01 2002 @@ -0,0 +1,73 @@ +#ifndef __ASM_SH_UBC_H +#define __ASM_SH_UBC_H + +/* User Break Controller */ + +#if defined(CONFIG_CPU_SUBTYPE_SH7709) +#define UBC_TYPE_SH7729 (cpu_data->type =3D=3D CPU_SH7729) +#else +#define UBC_TYPE_SH7729 0 +#endif + +#if defined(__sh3__) +#define UBC_BARA 0xffffffb0 +#define UBC_BAMRA 0xffffffb4 +#define UBC_BBRA 0xffffffb8 +#define UBC_BASRA 0xffffffe4 +#define UBC_BARB 0xffffffa0 +#define UBC_BAMRB 0xffffffa4 +#define UBC_BBRB 0xffffffa8 +#define UBC_BASRB 0xffffffe8 +#define UBC_BDRB 0xffffff90 +#define UBC_BDMRB 0xffffff94 +#define UBC_BRCR 0xffffff98 +#elif defined(__SH4__) +#define UBC_BARA 0xff200000 +#define UBC_BAMRA 0xff200004 +#define UBC_BBRA 0xff200008 +#define UBC_BASRA 0xff000014 +#define UBC_BARB 0xff20000c +#define UBC_BAMRB 0xff200010 +#define UBC_BBRB 0xff200014 +#define UBC_BASRB 0xff000018 +#define UBC_BDRB 0xff200018 +#define UBC_BDMRB 0xff20001c +#define UBC_BRCR 0xff200020 +#endif + +#define BAMR_ASID (1 << 2) +#define BAMR_NONE 0 +#define BAMR_10 0x1 +#define BAMR_12 0x2 +#define BAMR_ALL 0x3 +#define BAMR_16 0x8 +#define BAMR_20 0x9 + +#define BBR_INST (1 << 4) +#define BBR_DATA (2 << 4) +#define BBR_READ (1 << 2) +#define BBR_WRITE (2 << 2) +#define BBR_BYTE 0x1 +#define BBR_HALF 0x2 +#define BBR_LONG 0x3 +#define BBR_QUAD (1 << 6) /* SH7750 */ +#define BBR_CPU (1 << 6) /* SH7709A,SH7729 */ +#define BBR_DMA (2 << 6) /* SH7709A,SH7729 */ + +#define BRCR_CMFA (1 << 15) +#define BRCR_CMFB (1 << 14) +#define BRCR_PCTE (1 << 11) +#define BRCR_PCBA (1 << 10) /* 1: after execution */ +#define BRCR_DBEB (1 << 7) +#define BRCR_PCBB (1 << 6) +#define BRCR_SEQ (1 << 3) +#define BRCR_UBDE (1 << 0) + +#ifndef __ASSEMBLY__ +/* arch/sh/kernel/ubc.S */ +extern void ubc_wakeup(void); +extern void ubc_sleep(void); +#endif + +#endif /* __ASM_SH_UBC_H */ + |
From: NIIBE Y. <gn...@m1...> - 2002-05-23 01:58:10
|
Changes from mainline. We need to implement TLB handling. 2002-05-23 NIIBE Yutaka <gn...@m1...> * include/asm-sh/tlb.h (tlb_start_vma, tlb_end_vma, tlb_remove_tlb_entry, tlb_flush): To be implemented. * AGAINST-2.5.17: New file. * AGAINST-2.5.16: Removed. * Makefile: Version 2.5.17. * drivers/block/rd.c, fs/nfs/inode.c, include/asm-sh/ioctls.h, mm/memory.c: Incorporate changes in 2.5.17. Index: Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/Makefile,v retrieving revision 1.23 diff -u -3 -p -r1.23 Makefile --- Makefile 23 May 2002 01:51:12 -0000 1.23 +++ Makefile 23 May 2002 01:56:15 -0000 @@ -1,6 +1,6 @@ VERSION = 2 PATCHLEVEL = 5 -SUBLEVEL = 16 +SUBLEVEL = 17 EXTRAVERSION =-sh KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) @@ -11,7 +11,7 @@ KERNELPATH=kernel-$(shell echo $(KERNELR CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \ else if [ -x /bin/bash ]; then echo /bin/bash; \ else echo sh; fi ; fi) -TOPDIR := $(shell /bin/pwd) +TOPDIR := $(CURDIR) HPATH = $(TOPDIR)/include FINDHPATH = $(HPATH)/asm $(HPATH)/linux $(HPATH)/scsi $(HPATH)/net @@ -39,6 +39,7 @@ GENKSYMS = /sbin/genksyms DEPMOD = /sbin/depmod MODFLAGS = -DMODULE CFLAGS_KERNEL = +AFLAGS_KERNEL = PERL = perl export VERSION PATCHLEVEL SUBLEVEL EXTRAVERSION KERNELRELEASE ARCH \ @@ -54,9 +55,8 @@ all: do-it-all ifeq (.config,$(wildcard .config)) include .config -ifeq (.depend,$(wildcard .depend)) -include .depend -do-it-all: Version vmlinux +ifeq (.hdepend,$(wildcard .hdepend)) +do-it-all: vmlinux else CONFIGURATION = depend do-it-all: depend @@ -92,37 +92,12 @@ CFLAGS := $(CPPFLAGS) -Wall -Wstrict-pro -fomit-frame-pointer -fno-strict-aliasing -fno-common AFLAGS := -D__ASSEMBLY__ $(CPPFLAGS) -# -# ROOT_DEV specifies the default root-device when making the image. -# This can be either FLOPPY, CURRENT, /dev/xxxx or empty, in which case -# the default of FLOPPY is used by 'build'. -# This is i386 specific. -# - -export ROOT_DEV = CURRENT - -# -# If you want to preset the SVGA mode, uncomment the next line and -# set SVGA_MODE to whatever number you want. -# Set it to -DSVGA_MODE=NORMAL_VGA if you just want the EGA/VGA mode. -# The number is the same as you would ordinarily press at bootup. -# This is i386 specific. -# - -export SVGA_MODE = -DSVGA_MODE=NORMAL_VGA - -# -# If you want the RAM disk device, define this to be the size in blocks. -# This is i386 specific. -# - -#export RAMDISK = -DRAMDISK=512 - +INIT =init/init.o CORE_FILES =kernel/kernel.o mm/mm.o fs/fs.o ipc/ipc.o NETWORKS =net/network.o LIBS =$(TOPDIR)/lib/lib.a -SUBDIRS =kernel lib drivers mm fs net ipc sound +SUBDIRS =init kernel lib drivers mm fs net ipc sound DRIVERS-n := DRIVERS-y := @@ -179,77 +154,20 @@ DRIVERS-$(CONFIG_MAPLE) += drivers/maple DRIVERS := $(DRIVERS-y) -# files removed with 'make clean' -CLEAN_FILES = \ - kernel/ksyms.lst include/linux/compile.h \ - vmlinux System.map \ - .tmp* \ - drivers/char/consolemap_deftbl.c drivers/video/promcon_tbl.c \ - drivers/char/conmakehash \ - drivers/char/drm/*-mod.c \ - drivers/pci/devlist.h drivers/pci/classlist.h drivers/pci/gen-devlist \ - drivers/zorro/devlist.h drivers/zorro/gen-devlist \ - sound/oss/bin2hex sound/oss/hex2hex \ - drivers/atm/fore200e_mkfirm drivers/atm/{pca,sba}*{.bin,.bin1,.bin2} \ - drivers/scsi/aic7xxx/aicasm/aicasm_gram.c \ - drivers/scsi/aic7xxx/aicasm/aicasm_scan.c \ - drivers/scsi/aic7xxx/aicasm/y.tab.h \ - drivers/scsi/aic7xxx/aicasm/aicasm \ - drivers/scsi/53c700_d.h \ - net/khttpd/make_times_h \ - net/khttpd/times.h \ - submenu* -# directories removed with 'make clean' -CLEAN_DIRS = \ - modules - -# files removed with 'make mrproper' -MRPROPER_FILES = \ - include/linux/autoconf.h include/linux/version.h \ - drivers/net/hamradio/soundmodem/sm_tbl_{afsk1200,afsk2666,fsk9600}.h \ - drivers/net/hamradio/soundmodem/sm_tbl_{hapn4800,psk4800}.h \ - drivers/net/hamradio/soundmodem/sm_tbl_{afsk2400_7,afsk2400_8}.h \ - drivers/net/hamradio/soundmodem/gentbl \ - sound/oss/*_boot.h sound/oss/.*.boot \ - sound/oss/msndinit.c \ - sound/oss/msndperm.c \ - sound/oss/pndsperm.c \ - sound/oss/pndspini.c \ - drivers/atm/fore200e_*_fw.c drivers/atm/.fore200e_*.fw \ - .version .config* config.in config.old \ - scripts/tkparse scripts/kconfig.tk scripts/kconfig.tmp \ - scripts/lxdialog/*.o scripts/lxdialog/lxdialog \ - .menuconfig.log \ - include/asm \ - .hdepend scripts/mkdep scripts/split-include scripts/docproc \ - $(TOPDIR)/include/linux/modversions.h \ - kernel.spec - -# directories removed with 'make mrproper' -MRPROPER_DIRS = \ - include/config \ - $(TOPDIR)/include/linux/modules - - include arch/$(ARCH)/Makefile export CPPFLAGS CFLAGS CFLAGS_KERNEL AFLAGS AFLAGS_KERNEL export NETWORKS DRIVERS LIBS HEAD LDFLAGS LINKFLAGS MAKEBOOT ASFLAGS -.S.s: - $(CPP) $(AFLAGS) $(AFLAGS_KERNEL) -traditional -o $*.s $< -.S.o: - $(CC) $(AFLAGS) $(AFLAGS_KERNEL) -traditional -c -o $*.o $< - -Version: dummy - @rm -f include/linux/compile.h +# Build vmlinux / boot target +# --------------------------------------------------------------------------- boot: vmlinux - @$(MAKE) CFLAGS="$(CFLAGS) $(CFLAGS_KERNEL)" -C arch/$(ARCH)/boot + @$(MAKE) CFLAGS="$(CFLAGS) $(CFLAGS_KERNEL)" AFLAGS="$(AFLAGS) $(AFLAGS_KERNEL)" -C arch/$(ARCH)/boot -vmlinux: include/linux/version.h $(CONFIGURATION) init/main.o init/version.o init/do_mounts.o linuxsubdirs - $(LD) $(LINKFLAGS) $(HEAD) init/main.o init/version.o init/do_mounts.o \ +vmlinux: include/linux/version.h $(CONFIGURATION) linuxsubdirs + $(LD) $(LINKFLAGS) $(HEAD) $(INIT) \ --start-group \ $(CORE_FILES) \ $(LIBS) \ @@ -259,94 +177,76 @@ vmlinux: include/linux/version.h $(CONFI -o vmlinux $(NM) vmlinux | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | sort > System.map -symlinks: - rm -f include/asm - ( cd include ; ln -sf asm-$(ARCH) asm) - @if [ ! -d include/linux/modules ]; then \ - mkdir include/linux/modules; \ - fi +# Handle descending into subdirectories listed in $(SUBDIRS) + +linuxsubdirs: $(patsubst %, _dir_%, $(SUBDIRS)) + +$(patsubst %, _dir_%, $(SUBDIRS)) : dummy include/linux/version.h include/config/MARKER + @$(MAKE) CFLAGS="$(CFLAGS) $(CFLAGS_KERNEL)" AFLAGS="$(AFLAGS) $(AFLAGS_KERNEL)" -C $(patsubst _dir_%, %, $@) + +# Configuration +# --------------------------------------------------------------------------- oldconfig: symlinks $(CONFIG_SHELL) scripts/Configure -d arch/$(ARCH)/config.in xconfig: symlinks - $(MAKE) -C scripts kconfig.tk + @$(MAKE) -C scripts kconfig.tk wish -f scripts/kconfig.tk menuconfig: include/linux/version.h symlinks - $(MAKE) -C scripts/lxdialog all + @$(MAKE) -C scripts/lxdialog all $(CONFIG_SHELL) scripts/Menuconfig arch/$(ARCH)/config.in config: symlinks $(CONFIG_SHELL) scripts/Configure arch/$(ARCH)/config.in -include/config/MARKER: scripts/split-include include/linux/autoconf.h - scripts/split-include include/linux/autoconf.h include/config - @ touch include/config/MARKER - -linuxsubdirs: $(patsubst %, _dir_%, $(SUBDIRS)) +# make asm->asm-$(ARCH) symlink -$(patsubst %, _dir_%, $(SUBDIRS)) : dummy include/linux/version.h include/config/MARKER - $(MAKE) CFLAGS="$(CFLAGS) $(CFLAGS_KERNEL)" -C $(patsubst _dir_%, %, $@) +symlinks: + rm -f include/asm + ( cd include ; ln -sf asm-$(ARCH) asm) + @if [ ! -d include/linux/modules ]; then \ + mkdir include/linux/modules; \ + fi -$(TOPDIR)/include/linux/version.h: include/linux/version.h -$(TOPDIR)/include/linux/compile.h: include/linux/compile.h +# split autoconf.h into include/linux/config/* -newversion: +include/config/MARKER: scripts/split-include include/linux/autoconf.h + scripts/split-include include/linux/autoconf.h include/config + @ touch include/config/MARKER . scripts/mkversion > .tmpversion @mv -f .tmpversion .version -include/linux/compile.h: $(CONFIGURATION) include/linux/version.h newversion - @echo -n \#define UTS_VERSION \"\#`cat .version` > .ver - @if [ -n "$(CONFIG_SMP)" ] ; then echo -n " SMP" >> .ver; fi - @if [ -f .name ]; then echo -n \-`cat .name` >> .ver; fi - @echo ' '`date`'"' >> .ver - @echo \#define LINUX_COMPILE_TIME \"`date +%T`\" >> .ver - @echo \#define LINUX_COMPILE_BY \"`whoami`\" >> .ver - @echo \#define LINUX_COMPILE_HOST \"`hostname`\" >> .ver - @if [ -x /bin/dnsdomainname ]; then \ - echo \#define LINUX_COMPILE_DOMAIN \"`dnsdomainname`\"; \ - elif [ -x /bin/domainname ]; then \ - echo \#define LINUX_COMPILE_DOMAIN \"`domainname`\"; \ - else \ - echo \#define LINUX_COMPILE_DOMAIN ; \ - fi >> .ver - @echo \#define LINUX_COMPILER \"`$(CC) $(CFLAGS) -v 2>&1 | tail -1`\" >> .ver - @mv -f .ver $@ +# Generate some files + +$(TOPDIR)/include/linux/version.h: include/linux/version.h include/linux/version.h: ./Makefile - @echo \#define UTS_RELEASE \"$(KERNELRELEASE)\" > .ver - @echo \#define LINUX_VERSION_CODE `expr $(VERSION) \\* 65536 + $(PATCHLEVEL) \\* 256 + $(SUBLEVEL)` >> .ver - @echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))' >>.ver - @mv -f .ver $@ + @echo Generating $@ + @. scripts/mkversion_h $@ $(KERNELRELEASE) $(VERSION) $(PATCHLEVEL) $(SUBLEVEL) comma := , -init/version.o: init/version.c include/linux/compile.h include/config/MARKER - $(CC) $(CFLAGS) $(CFLAGS_KERNEL) -DUTS_MACHINE='"$(ARCH)"' -DKBUILD_BASENAME=$(subst $(comma),_,$(subst -,_,$(*F))) -c -o init/version.o init/version.c +# --------------------------------------------------------------------------- +# Generate dependencies -init/main.o: init/main.c include/config/MARKER - $(CC) $(CFLAGS) $(CFLAGS_KERNEL) $(PROFILING) -DKBUILD_BASENAME=$(subst $(comma),_,$(subst -,_,$(*F))) -c -o $*.o $< +depend dep: dep-files -init/do_mounts.o: init/do_mounts.c include/config/MARKER - $(CC) $(CFLAGS) $(CFLAGS_KERNEL) $(PROFILING) -DKBUILD_BASENAME=$(subst $(comma),_,$(subst -,_,$(*F))) -c -o $*.o $< +dep-files: scripts/mkdep archdep include/linux/version.h + scripts/mkdep -- `find $(FINDHPATH) -name SCCS -prune -o -follow -name \*.h ! -name modversions.h -print` > .hdepend + $(MAKE) $(patsubst %,_sfdep_%,$(SUBDIRS)) _FASTDEP_ALL_SUB_DIRS="$(SUBDIRS)" +ifdef CONFIG_MODVERSIONS + $(MAKE) update-modverfile +endif -fs lib mm ipc kernel drivers net sound: dummy - $(MAKE) CFLAGS="$(CFLAGS) $(CFLAGS_KERNEL)" $(subst $@, _dir_$@, $@) +# --------------------------------------------------------------------------- +# Modules -TAGS: dummy - { 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 - +ifdef CONFIG_MODULES -# Exuberant ctags works better with -I -tags: dummy - CTAGSF=`ctags --version | grep -i exuberant >/dev/null && echo "-I __initdata,__exitdata,EXPORT_SYMBOL,EXPORT_SYMBOL_NOVERS"`; \ - ctags $$CTAGSF `find include/asm-$(ARCH) -name '*.h'` && \ - find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' -print | xargs ctags $$CTAGSF -a && \ - find $(SUBDIRS) init -name '*.[ch]' | xargs ctags $$CTAGSF -a +# Build modules -ifdef CONFIG_MODULES ifdef CONFIG_MODVERSIONS MODFLAGS += -DMODVERSIONS -include $(HPATH)/linux/modversions.h endif @@ -356,7 +256,9 @@ modules: $(patsubst %, _mod_%, $(SUBDIRS .PHONY: $(patsubst %, _mod_%, $(SUBDIRS)) $(patsubst %, _mod_%, $(SUBDIRS)) : include/linux/version.h include/config/MARKER - $(MAKE) -C $(patsubst _mod_%, %, $@) CFLAGS="$(CFLAGS) $(MODFLAGS)" MAKING_MODULES=1 modules + @$(MAKE) -C $(patsubst _mod_%, %, $@) CFLAGS="$(CFLAGS) $(MODFLAGS)" MAKING_MODULES=1 modules + +# Install modules .PHONY: modules_install modules_install: _modinst_ $(patsubst %, _modinst_%, $(SUBDIRS)) _modinst_post @@ -384,11 +286,13 @@ _modinst_post: .PHONY: $(patsubst %, _modinst_%, $(SUBDIRS)) $(patsubst %, _modinst_%, $(SUBDIRS)) : - $(MAKE) -C $(patsubst _modinst_%, %, $@) modules_install + @$(MAKE) -C $(patsubst _modinst_%, %, $@) modules_install -# modules disabled.... +else # CONFIG_MODULES + +# --------------------------------------------------------------------------- +# Modules not configured -else modules modules_install: dummy @echo @echo "The present kernel configuration has modules disabled." @@ -396,20 +300,90 @@ modules modules_install: dummy @echo "Then build a kernel with module support enabled." @echo @exit 1 -endif + +endif # CONFIG_MODULES + +# --------------------------------------------------------------------------- + +include Rules.make + +# Build helpers in scripts/ +# FIXME: do that in scripts/Makefile? + +scripts/mkdep: scripts/mkdep.c + $(HOSTCC) $(HOSTCFLAGS) -o scripts/mkdep scripts/mkdep.c + +scripts/split-include: scripts/split-include.c + $(HOSTCC) $(HOSTCFLAGS) -o scripts/split-include scripts/split-include.c + +# Cleaning up +# --------------------------------------------------------------------------- + +# files removed with 'make clean' +CLEAN_FILES += \ + kernel/ksyms.lst include/linux/compile.h \ + vmlinux System.map \ + .tmp* \ + drivers/char/consolemap_deftbl.c drivers/video/promcon_tbl.c \ + drivers/char/conmakehash \ + drivers/char/drm/*-mod.c \ + drivers/pci/devlist.h drivers/pci/classlist.h drivers/pci/gen-devlist \ + drivers/zorro/devlist.h drivers/zorro/gen-devlist \ + sound/oss/bin2hex sound/oss/hex2hex \ + drivers/atm/fore200e_mkfirm drivers/atm/{pca,sba}*{.bin,.bin1,.bin2} \ + drivers/scsi/aic7xxx/aicasm/aicasm_gram.c \ + drivers/scsi/aic7xxx/aicasm/aicasm_scan.c \ + drivers/scsi/aic7xxx/aicasm/y.tab.h \ + drivers/scsi/aic7xxx/aicasm/aicasm \ + drivers/scsi/53c700_d.h \ + net/khttpd/make_times_h \ + net/khttpd/times.h \ + submenu* + +# directories removed with 'make clean' +CLEAN_DIRS += \ + modules + +# files removed with 'make mrproper' +MRPROPER_FILES += \ + include/linux/autoconf.h include/linux/version.h \ + drivers/net/hamradio/soundmodem/sm_tbl_{afsk1200,afsk2666,fsk9600}.h \ + drivers/net/hamradio/soundmodem/sm_tbl_{hapn4800,psk4800}.h \ + drivers/net/hamradio/soundmodem/sm_tbl_{afsk2400_7,afsk2400_8}.h \ + drivers/net/hamradio/soundmodem/gentbl \ + sound/oss/*_boot.h sound/oss/.*.boot \ + sound/oss/msndinit.c \ + sound/oss/msndperm.c \ + sound/oss/pndsperm.c \ + sound/oss/pndspini.c \ + drivers/atm/fore200e_*_fw.c drivers/atm/.fore200e_*.fw \ + .version .config* config.in config.old \ + scripts/tkparse scripts/kconfig.tk scripts/kconfig.tmp \ + scripts/lxdialog/*.o scripts/lxdialog/lxdialog \ + .menuconfig.log \ + include/asm \ + .hdepend scripts/mkdep scripts/split-include scripts/docproc \ + $(TOPDIR)/include/linux/modversions.h \ + kernel.spec + +# directories removed with 'make mrproper' +MRPROPER_DIRS += \ + include/config \ + $(TOPDIR)/include/linux/modules + clean: archclean - find . \( -name '*.[oas]' -o -name core -o -name '.*.flags' \) -type f -print \ + find . \( -name '*.[oas]' -o -name core -o -name '.*.cmd' \) -type f -print \ | grep -v lxdialog/ | xargs rm -f rm -f $(CLEAN_FILES) rm -rf $(CLEAN_DIRS) - $(MAKE) -C Documentation/DocBook clean + @$(MAKE) -C Documentation/DocBook clean mrproper: clean archmrproper find . \( -size 0 -o -name .depend \) -type f -print | xargs rm -f rm -f $(MRPROPER_FILES) rm -rf $(MRPROPER_DIRS) - $(MAKE) -C Documentation/DocBook mrproper + @$(MAKE) -C Documentation/DocBook mrproper distclean: mrproper rm -f core `find . \( -not -type d \) -and \ @@ -417,101 +391,28 @@ distclean: mrproper -o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \ -o -name '.*.rej' -o -name '.SUMS' -o -size 0 \) -type f -print` TAGS tags -backup: mrproper - cd .. && tar cf - linux/ | gzip -9 > backup.gz - sync - -sgmldocs: - chmod 755 $(TOPDIR)/scripts/docgen - chmod 755 $(TOPDIR)/scripts/gen-all-syms - chmod 755 $(TOPDIR)/scripts/kernel-doc - $(MAKE) -C $(TOPDIR)/Documentation/DocBook books - -psdocs: sgmldocs - $(MAKE) -C Documentation/DocBook ps - -pdfdocs: sgmldocs - $(MAKE) -C Documentation/DocBook pdf - -htmldocs: sgmldocs - $(MAKE) -C Documentation/DocBook html - -sums: - find . -type f -print | sort | xargs sum > .SUMS - -dep-files: scripts/mkdep archdep include/linux/version.h - scripts/mkdep -- init/*.c > .depend - scripts/mkdep -- `find $(FINDHPATH) -name SCCS -prune -o -follow -name \*.h ! -name modversions.h -print` > .hdepend - $(MAKE) $(patsubst %,_sfdep_%,$(SUBDIRS)) _FASTDEP_ALL_SUB_DIRS="$(SUBDIRS)" -ifdef CONFIG_MODVERSIONS - $(MAKE) update-modverfile -endif - -ifdef CONFIG_MODVERSIONS -MODVERFILE := $(TOPDIR)/include/linux/modversions.h -else -MODVERFILE := -endif -export MODVERFILE - -depend dep: dep-files - -checkconfig: - find * -name '*.[hcS]' -type f -print | sort | xargs $(PERL) -w scripts/checkconfig.pl - -checkhelp: - find * -name [cC]onfig.in -print | sort | xargs $(PERL) -w scripts/checkhelp.pl - -checkincludes: - find * -name '*.[hcS]' -type f -print | sort | xargs $(PERL) -w scripts/checkincludes.pl - -ifdef CONFIGURATION -..$(CONFIGURATION): - @echo - @echo "You have a bad or nonexistent" .$(CONFIGURATION) ": running 'make" $(CONFIGURATION)"'" - @echo - $(MAKE) $(CONFIGURATION) - @echo - @echo "Successful. Try re-making (ignore the error that follows)" - @echo - exit 1 - -#dummy: ..$(CONFIGURATION) -dummy: - -else - -dummy: - -endif +# Assorted miscellaneous targets +# --------------------------------------------------------------------------- -include Rules.make - -# -# This generates dependencies for the .h files. -# +# Documentation targets -scripts/mkdep: scripts/mkdep.c - $(HOSTCC) $(HOSTCFLAGS) -o scripts/mkdep scripts/mkdep.c +sgmldocs psdocs pdfdocs htmldocs: + @$(MAKE) -C Documentation/DocBook $@ -scripts/split-include: scripts/split-include.c - $(HOSTCC) $(HOSTCFLAGS) -o scripts/split-include scripts/split-include.c -# # RPM target # # If you do a make spec before packing the tarball you can rpm -ta it -# + spec: . scripts/mkspec >kernel.spec -# # Build a tar ball, generate an rpm from it and pack the result # There arw two bits of magic here # 1) The use of /. to avoid tar packing just the symlink # 2) Removing the .dep files as they have source paths in them that # will become invalid -# + rpm: clean spec find . \( -size 0 -o -name .depend -o -name .hdepend \) -type f -print | xargs rm -f set -e; \ @@ -523,3 +424,48 @@ rpm: clean spec . scripts/mkversion > .version ; \ rpm -ta $(TOPDIR)/../$(KERNELPATH).tar.gz ; \ rm $(TOPDIR)/../$(KERNELPATH).tar.gz + +# Scripts to check various things for consistency + +checkconfig: + find * -name '*.[hcS]' -type f -print | sort | xargs $(PERL) -w scripts/checkconfig.pl + +checkhelp: + find * -name [cC]onfig.in -print | sort | xargs $(PERL) -w scripts/checkhelp.pl + +checkincludes: + find * -name '*.[hcS]' -type f -print | sort | xargs $(PERL) -w scripts/checkincludes.pl + +# Generate tags for editors + +TAGS: dummy + { 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 + CTAGSF=`ctags --version | grep -i exuberant >/dev/null && echo "-I __initdata,__exitdata,EXPORT_SYMBOL,EXPORT_SYMBOL_NOVERS"`; \ + ctags $$CTAGSF `find include/asm-$(ARCH) -name '*.h'` && \ + find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' -print | xargs ctags $$CTAGSF -a && \ + find $(SUBDIRS) init -name '*.[ch]' | xargs ctags $$CTAGSF -a + +# Targets which will only descend into one subdir, not trying +# to link vmlinux afterwards +# FIXME: anybody still using this? + +fs lib mm ipc kernel drivers net sound: dummy + $(MAKE) CFLAGS="$(CFLAGS) $(CFLAGS_KERNEL)" AFLAGS="$(AFLAGS) $(AFLAGS_KERNEL)" $(subst $@, _dir_$@, $@) + +# Make a backup +# FIXME anybody still using this? + +backup: mrproper + cd .. && tar cf - linux/ | gzip -9 > backup.gz + sync + +# Make checksums +# FIXME anybody still using this? + +sums: + find . -type f -print | sort | xargs sum > .SUMS Index: drivers/block/rd.c =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/block/rd.c,v retrieving revision 1.11 diff -u -3 -p -r1.11 rd.c --- drivers/block/rd.c 6 May 2002 00:50:01 -0000 1.11 +++ drivers/block/rd.c 23 May 2002 01:56:15 -0000 @@ -318,7 +318,8 @@ static ssize_t initrd_read(struct file * left = initrd_end - initrd_start - *ppos; if (count > left) count = left; if (count == 0) return 0; - copy_to_user(buf, (char *)initrd_start + *ppos, count); + if (copy_to_user(buf, (char *)initrd_start + *ppos, count)) + return -EFAULT; *ppos += count; return count; } Index: fs/nfs/inode.c =================================================================== RCS file: /cvsroot/linuxsh/linux/fs/nfs/inode.c,v retrieving revision 1.5 diff -u -3 -p -r1.5 inode.c --- fs/nfs/inode.c 1 May 2002 06:18:01 -0000 1.5 +++ fs/nfs/inode.c 23 May 2002 01:56:15 -0000 @@ -23,7 +23,6 @@ #include <linux/string.h> #include <linux/stat.h> #include <linux/errno.h> -#include <linux/locks.h> #include <linux/unistd.h> #include <linux/sunrpc/clnt.h> #include <linux/sunrpc/stats.h> @@ -47,7 +46,6 @@ static void nfs_invalidate_inode(struct static struct inode *nfs_alloc_inode(struct super_block *sb); static void nfs_destroy_inode(struct inode *); -static void nfs_read_inode(struct inode *); static void nfs_write_inode(struct inode *,int); static void nfs_delete_inode(struct inode *); static void nfs_put_super(struct super_block *); @@ -59,7 +57,6 @@ static int nfs_show_options(struct seq_ static struct super_operations nfs_sops = { alloc_inode: nfs_alloc_inode, destroy_inode: nfs_destroy_inode, - read_inode: nfs_read_inode, write_inode: nfs_write_inode, delete_inode: nfs_delete_inode, put_super: nfs_put_super, @@ -98,15 +95,6 @@ nfs_fattr_to_ino_t(struct nfs_fattr *fat return nfs_fileid_to_ino_t(fattr->fileid); } -/* - * The "read_inode" function doesn't actually do anything: - * the real data is filled in later in nfs_fhget. - */ -static void -nfs_read_inode(struct inode * inode) -{ -} - static void nfs_write_inode(struct inode *inode, int sync) { @@ -592,7 +580,7 @@ struct nfs_find_desc { * i_ino. */ static int -nfs_find_actor(struct inode *inode, unsigned long ino, void *opaque) +nfs_find_actor(struct inode *inode, void *opaque) { struct nfs_find_desc *desc = (struct nfs_find_desc *)opaque; struct nfs_fh *fh = desc->fh; @@ -612,6 +600,18 @@ nfs_find_actor(struct inode *inode, unsi return 1; } +static int +nfs_init_locked(struct inode *inode, void *opaque) +{ + struct nfs_find_desc *desc = (struct nfs_find_desc *)opaque; + struct nfs_fh *fh = desc->fh; + struct nfs_fattr *fattr = desc->fattr; + + NFS_FILEID(inode) = fattr->fileid; + memcpy(NFS_FH(inode), fh, sizeof(struct nfs_fh)); + return 0; +} + /* * This is our own version of iget that looks up inodes by file handle * instead of inode number. We use this technique instead of using @@ -642,7 +642,7 @@ __nfs_fhget(struct super_block *sb, stru fattr: fattr }; struct inode *inode = NULL; - unsigned long ino; + unsigned long hash; if ((fattr->valid & NFS_ATTR_FATTR) == 0) goto out_no_inode; @@ -652,20 +652,21 @@ __nfs_fhget(struct super_block *sb, stru goto out_no_inode; } - ino = nfs_fattr_to_ino_t(fattr); + hash = nfs_fattr_to_ino_t(fattr); - if (!(inode = iget4(sb, ino, nfs_find_actor, &desc))) + if (!(inode = iget5_locked(sb, hash, nfs_find_actor, nfs_init_locked, &desc))) goto out_no_inode; - if (NFS_NEW(inode)) { + if (inode->i_state & I_NEW) { __u64 new_size, new_mtime; loff_t new_isize; time_t new_atime; + /* We set i_ino for the few things that still rely on it, + * such as stat(2) */ + inode->i_ino = hash; + /* We can't support UPDATE_ATIME(), since the server will reset it */ - NFS_FLAGS(inode) &= ~NFS_INO_NEW; - NFS_FILEID(inode) = fattr->fileid; - memcpy(NFS_FH(inode), fh, sizeof(struct nfs_fh)); inode->i_flags |= S_NOATIME; inode->i_mode = fattr->mode; /* Why so? Because we want revalidate for devices/FIFOs, and @@ -713,6 +714,8 @@ __nfs_fhget(struct super_block *sb, stru NFS_ATTRTIMEO(inode) = NFS_MINATTRTIMEO(inode); NFS_ATTRTIMEO_UPDATE(inode) = jiffies; memset(NFS_COOKIEVERF(inode), 0, sizeof(NFS_COOKIEVERF(inode))); + + unlock_new_inode(inode); } else nfs_refresh_inode(inode, fattr); dprintk("NFS: __nfs_fhget(%s/%Ld ct=%d)\n", @@ -1233,7 +1236,7 @@ static struct inode *nfs_alloc_inode(str nfsi = (struct nfs_inode *)kmem_cache_alloc(nfs_inode_cachep, SLAB_KERNEL); if (!nfsi) return NULL; - nfsi->flags = NFS_INO_NEW; + nfsi->flags = 0; nfsi->mm_cred = NULL; return &nfsi->vfs_inode; } Index: include/asm-sh/ioctls.h =================================================================== RCS file: /cvsroot/linuxsh/linux/include/asm-sh/ioctls.h,v retrieving revision 1.1.1.1 diff -u -3 -p -r1.1.1.1 ioctls.h --- include/asm-sh/ioctls.h 15 Oct 2001 20:45:09 -0000 1.1.1.1 +++ include/asm-sh/ioctls.h 23 May 2002 01:56:15 -0000 @@ -9,6 +9,7 @@ #define FIONBIO _IOW('f', 126, int) #define FIONREAD _IOR('f', 127, int) #define TIOCINQ FIONREAD +#define FIOQSIZE _IOR('f', 128, loff_t) #define TCGETS 0x5401 #define TCSETS 0x5402 Index: include/asm-sh/tlb.h =================================================================== RCS file: /cvsroot/linuxsh/linux/include/asm-sh/tlb.h,v retrieving revision 1.1.1.1 diff -u -3 -p -r1.1.1.1 tlb.h --- include/asm-sh/tlb.h 15 Oct 2001 20:45:11 -0000 1.1.1.1 +++ include/asm-sh/tlb.h 23 May 2002 01:56:15 -0000 @@ -1 +1,13 @@ +#ifndef __ASM_SH_TLB_H +#define __ASM_SH_TLB_H + +/* + * XXX: We should implement those... + */ +#define tlb_start_vma(tlb, vma) do { } while (0) +#define tlb_end_vma(tlb, vma) do { } while (0) +#define tlb_remove_tlb_entry(tlb, pte, address) do { } while (0) +#define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) + #include <asm-generic/tlb.h> +#endif Index: mm/memory.c =================================================================== RCS file: /cvsroot/linuxsh/linux/mm/memory.c,v retrieving revision 1.14 diff -u -3 -p -r1.14 memory.c --- mm/memory.c 23 May 2002 01:51:13 -0000 1.14 +++ mm/memory.c 23 May 2002 01:56:15 -0000 @@ -348,11 +348,13 @@ static void zap_pte_range(mmu_gather_t * pte_clear(ptep); pfn = pte_pfn(pte); + tlb_remove_tlb_entry(tlb, pte, address+offset); if (pfn_valid(pfn)) { struct page *page = pfn_to_page(pfn); if (!PageReserved(page)) { if (pte_dirty(pte)) set_page_dirty(page); + tlb->freed++; tlb_remove_page(tlb, page); } } |
From: NIIBE Y. <gn...@m1...> - 2002-05-23 01:46:18
|
Changes from mainline. We need to implement TLB handling, but it will be done with 2.5.17 (or forthcoming 2.5.18) together... 2002-05-23 NIIBE Yutaka <gn...@m1...> * include/asm-sh/pgalloc.h (pte_free_tlb, pmd_free_tlb): Added. * AGAINST-2.5.16: New file. * AGAINST-2.5.15: Removed. * Makefile: Version 2.5.16 * arch/sh/kernel/process.c, arch/sh/vmlinux.lds.S, drivers/net/8139too.c, include/asm-sh/ide.h, include/linux/input.h, mm/memory.c: Incorporate changes in 2.5.16. Index: Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/Makefile,v retrieving revision 1.22 diff -u -3 -p -r1.22 Makefile --- Makefile 23 May 2002 01:31:03 -0000 1.22 +++ Makefile 23 May 2002 01:43:24 -0000 @@ -1,6 +1,6 @@ VERSION = 2 PATCHLEVEL = 5 -SUBLEVEL = 15 +SUBLEVEL = 16 EXTRAVERSION =-sh KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) Index: arch/sh/vmlinux.lds.S =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/vmlinux.lds.S,v retrieving revision 1.3 diff -u -3 -p -r1.3 vmlinux.lds.S --- arch/sh/vmlinux.lds.S 1 Mar 2002 01:55:10 -0000 1.3 +++ arch/sh/vmlinux.lds.S 23 May 2002 01:43:24 -0000 @@ -5,8 +5,10 @@ #include <linux/config.h> #ifdef CONFIG_CPU_LITTLE_ENDIAN OUTPUT_FORMAT("elf32-sh-linux", "elf32-sh-linux", "elf32-sh-linux") +jiffies = jiffies_64; #else OUTPUT_FORMAT("elf32-shbig-linux", "elf32-shbig-linux", "elf32-shbig-linux") +jiffies = jiffies_64 + 4; #endif OUTPUT_ARCH(sh) ENTRY(_start) Index: arch/sh/kernel/process.c =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/kernel/process.c,v retrieving revision 1.10 diff -u -3 -p -r1.10 process.c --- arch/sh/kernel/process.c 12 Apr 2002 04:26:28 -0000 1.10 +++ arch/sh/kernel/process.c 23 May 2002 01:43:24 -0000 @@ -259,16 +259,20 @@ asmlinkage int sys_fork(unsigned long r4 unsigned long r6, unsigned long r7, struct pt_regs regs) { - return do_fork(SIGCHLD, regs.regs[15], ®s, 0); + struct task_struct *p; + p = do_fork(SIGCHLD, regs.regs[15], ®s, 0); + return IS_ERR(p) ? PTR_ERR(p) : p->pid; } asmlinkage int sys_clone(unsigned long clone_flags, unsigned long newsp, unsigned long r6, unsigned long r7, struct pt_regs regs) { + struct task_struct *p; if (!newsp) newsp = regs.regs[15]; - return do_fork(clone_flags, newsp, ®s, 0); + p = do_fork(clone_flags & ~CLONE_IDLETASK, newsp, ®s, 0); + return IS_ERR(p) ? PTR_ERR(p) : p->pid; } /* @@ -285,7 +289,9 @@ asmlinkage int sys_vfork(unsigned long r unsigned long r6, unsigned long r7, struct pt_regs regs) { - return do_fork(CLONE_VFORK | CLONE_VM | SIGCHLD, regs.regs[15], ®s, 0); + struct task_struct *p; + p = do_fork(CLONE_VFORK | CLONE_VM | SIGCHLD, regs.regs[15], ®s, 0); + return IS_ERR(p) ? PTR_ERR(p) : p->pid; } /* Index: drivers/net/8139too.c =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/net/8139too.c,v retrieving revision 1.11 diff -u -3 -p -r1.11 8139too.c --- drivers/net/8139too.c 5 Apr 2002 04:45:00 -0000 1.11 +++ drivers/net/8139too.c 23 May 2002 01:43:24 -0000 @@ -2351,7 +2351,7 @@ static int netdev_ioctl (struct net_devi if (cmd != SIOCETHTOOL) { /* With SIOCETHTOOL, this would corrupt the pointer. */ - data->phy_id &= 0x1f; + data->phy_id &= 0x3f; data->reg_num &= 0x1f; } Index: include/asm-sh/ide.h =================================================================== RCS file: /cvsroot/linuxsh/linux/include/asm-sh/ide.h,v retrieving revision 1.4 diff -u -3 -p -r1.4 ide.h --- include/asm-sh/ide.h 23 May 2002 01:31:04 -0000 1.4 +++ include/asm-sh/ide.h 23 May 2002 01:43:24 -0000 @@ -107,10 +107,6 @@ static __inline__ void ide_init_default_ #endif /* CONFIG_PCI */ } -#define ide_ack_intr(hwif) (1) -#define ide_release_lock(lock) do {} while (0) -#define ide_get_lock(lock, hdlr, data) do {} while (0) - #endif /* __KERNEL__ */ #endif /* __ASM_SH_IDE_H */ Index: include/asm-sh/pgalloc.h =================================================================== RCS file: /cvsroot/linuxsh/linux/include/asm-sh/pgalloc.h,v retrieving revision 1.8 diff -u -3 -p -r1.8 pgalloc.h --- include/asm-sh/pgalloc.h 22 May 2002 07:37:02 -0000 1.8 +++ include/asm-sh/pgalloc.h 23 May 2002 01:43:24 -0000 @@ -38,6 +38,8 @@ static inline void pte_free(struct page __free_page(pte); } +#define pte_free_tlb(tlb,pte) tlb_remove_page((tlb),(pte)) + /* * allocating and freeing a pmd is trivial: the 1-entry pmd is * inside the pgd, so has no extra memory associated with it. @@ -45,6 +47,7 @@ static inline void pte_free(struct page #define pmd_alloc_one(mm, addr) ({ BUG(); ((pmd_t *)2); }) #define pmd_free(x) do { } while (0) +#define pmd_free_tlb(x) do { } while (0) #define pgd_populate(mm, pmd, pte) BUG() #if defined(__SH4__) Index: include/linux/input.h =================================================================== RCS file: /cvsroot/linuxsh/linux/include/linux/input.h,v retrieving revision 1.2 diff -u -3 -p -r1.2 input.h --- include/linux/input.h 1 Mar 2002 01:55:10 -0000 1.2 +++ include/linux/input.h 23 May 2002 01:43:24 -0000 @@ -326,6 +326,9 @@ struct input_event { #define KEY_UNKNOWN 240 +#define KEY_BRIGHTNESSDOWN 224 +#define KEY_BRIGHTNESSUP 225 + #define BTN_MISC 0x100 #define BTN_0 0x100 #define BTN_1 0x101 Index: mm/memory.c =================================================================== RCS file: /cvsroot/linuxsh/linux/mm/memory.c,v retrieving revision 1.13 diff -u -3 -p -r1.13 memory.c --- mm/memory.c 22 May 2002 07:37:02 -0000 1.13 +++ mm/memory.c 23 May 2002 01:43:24 -0000 @@ -72,28 +72,10 @@ static inline void copy_cow_page(struct mem_map_t * mem_map; /* - * Called by TLB shootdown - */ -void __free_pte(pte_t pte) -{ - struct page *page; - unsigned long pfn = pte_pfn(pte); - if (!pfn_valid(pfn)) - return; - page = pfn_to_page(pfn); - if (PageReserved(page)) - return; - if (pte_dirty(pte)) - set_page_dirty(page); - free_page_and_swap_cache(page); -} - - -/* * Note: this doesn't free the actual pages themselves. That * has been handled earlier when unmapping all the memory regions. */ -static inline void free_one_pmd(pmd_t * dir) +static inline void free_one_pmd(mmu_gather_t *tlb, pmd_t * dir) { struct page *pte; @@ -106,10 +88,10 @@ static inline void free_one_pmd(pmd_t * } pte = pmd_page(*dir); pmd_clear(dir); - pte_free(pte); + pte_free_tlb(tlb, pte); } -static inline void free_one_pgd(pgd_t * dir) +static inline void free_one_pgd(mmu_gather_t *tlb, pgd_t * dir) { int j; pmd_t * pmd; @@ -125,26 +107,26 @@ static inline void free_one_pgd(pgd_t * pgd_clear(dir); for (j = 0; j < PTRS_PER_PMD ; j++) { prefetchw(pmd+j+(PREFETCH_STRIDE/16)); - free_one_pmd(pmd+j); + free_one_pmd(tlb, pmd+j); } - pmd_free(pmd); + pmd_free_tlb(tlb, pmd); } /* * This function clears all user-level page tables of a process - this * is needed by execve(), so that old pages aren't in the way. + * + * Must be called with pagetable lock held. */ -void clear_page_tables(struct mm_struct *mm, unsigned long first, int nr) +void clear_page_tables(mmu_gather_t *tlb, unsigned long first, int nr) { - pgd_t * page_dir = mm->pgd; + pgd_t * page_dir = tlb->mm->pgd; - spin_lock(&mm->page_table_lock); page_dir += first; do { - free_one_pgd(page_dir); + free_one_pgd(tlb, page_dir); page_dir++; } while (--nr); - spin_unlock(&mm->page_table_lock); /* keep the page table cache within bounds */ check_pgt_cache(); @@ -340,18 +322,17 @@ static inline void forget_pte(pte_t page } } -static inline int zap_pte_range(mmu_gather_t *tlb, pmd_t * pmd, unsigned long address, unsigned long size) +static void zap_pte_range(mmu_gather_t *tlb, pmd_t * pmd, unsigned long address, unsigned long size) { unsigned long offset; pte_t *ptep; - int freed = 0; if (pmd_none(*pmd)) - return 0; + return; if (pmd_bad(*pmd)) { pmd_ERROR(*pmd); pmd_clear(pmd); - return 0; + return; } ptep = pte_offset_map(pmd, address); offset = address & ~PMD_MASK; @@ -363,49 +344,63 @@ static inline int zap_pte_range(mmu_gath if (pte_none(pte)) continue; if (pte_present(pte)) { - struct page *page; unsigned long pfn = pte_pfn(pte); + + pte_clear(ptep); + pfn = pte_pfn(pte); if (pfn_valid(pfn)) { - page = pfn_to_page(pfn); - if (!PageReserved(page)) - freed++; + struct page *page = pfn_to_page(pfn); + if (!PageReserved(page)) { + if (pte_dirty(pte)) + set_page_dirty(page); + tlb_remove_page(tlb, page); + } } - /* This will eventually call __free_pte on the pte. */ - tlb_remove_page(tlb, ptep, address + offset); } else { free_swap_and_cache(pte_to_swp_entry(pte)); pte_clear(ptep); } } pte_unmap(ptep-1); - - return freed; } -static inline int zap_pmd_range(mmu_gather_t *tlb, pgd_t * dir, unsigned long address, unsigned long size) +static void zap_pmd_range(mmu_gather_t *tlb, pgd_t * dir, unsigned long address, unsigned long size) { pmd_t * pmd; unsigned long end; - int freed; if (pgd_none(*dir)) - return 0; + return; if (pgd_bad(*dir)) { pgd_ERROR(*dir); pgd_clear(dir); - return 0; + return; } pmd = pmd_offset(dir, address); end = address + size; if (end > ((address + PGDIR_SIZE) & PGDIR_MASK)) end = ((address + PGDIR_SIZE) & PGDIR_MASK); - freed = 0; do { - freed += zap_pte_range(tlb, pmd, address, end - address); + zap_pte_range(tlb, pmd, address, end - address); address = (address + PMD_SIZE) & PMD_MASK; pmd++; } while (address < end); - return freed; +} + +void unmap_page_range(mmu_gather_t *tlb, struct vm_area_struct *vma, unsigned long address, unsigned long end) +{ + pgd_t * dir; + + if (address >= end) + BUG(); + dir = pgd_offset(vma->vm_mm, address); + tlb_start_vma(tlb, vma); + do { + zap_pmd_range(tlb, dir, address, end - address); + address = (address + PGDIR_SIZE) & PGDIR_MASK; + dir++; + } while (address && (address < end)); + tlb_end_vma(tlb, vma); } /* @@ -417,7 +412,6 @@ void zap_page_range(struct vm_area_struc mmu_gather_t *tlb; pgd_t * dir; unsigned long start = address, end = address + size; - int freed = 0; dir = pgd_offset(mm, address); @@ -432,25 +426,10 @@ void zap_page_range(struct vm_area_struc BUG(); spin_lock(&mm->page_table_lock); flush_cache_range(vma, address, end); - tlb = tlb_gather_mmu(vma); - do { - freed += zap_pmd_range(tlb, dir, address, end - address); - address = (address + PGDIR_SIZE) & PGDIR_MASK; - dir++; - } while (address && (address < end)); - - /* this will flush any remaining tlb entries */ + tlb = tlb_gather_mmu(mm); + unmap_page_range(tlb, vma, address, end); tlb_finish_mmu(tlb, start, end); - - /* - * Update rss for the mm_struct (not necessarily current->mm) - * Notice that rss is an unsigned long. - */ - if (mm->rss > freed) - mm->rss -= freed; - else - mm->rss = 0; spin_unlock(&mm->page_table_lock); } |
From: NIIBE Y. <gn...@m1...> - 2002-05-23 01:11:36
|
Changes from mainline. I don't make arch/sh/kernel/pci directory yet. 2002-05-23 NIIBE Yutaka <gn...@m1...> * arch/sh/kernel/signal.c (do_signal): Added SIGURG case. * AGAINST-2.5.15: New file. * AGAINST-2.5.14: Removed. * Makefile: Version 2.5.15. * arch/sh/kernel/pci_st40.c, arch/sh/kernel/pcibios.c, drivers/Makefile, drivers/char/Makefile, include/asm-sh/ide.h, kernel/ptrace.c: Incorporate changes in 2.5.15. Index: Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/Makefile,v retrieving revision 1.21 diff -u -3 -p -r1.21 Makefile --- Makefile 6 May 2002 00:50:01 -0000 1.21 +++ Makefile 23 May 2002 01:06:52 -0000 @@ -1,6 +1,6 @@ VERSION = 2 PATCHLEVEL = 5 -SUBLEVEL = 13 +SUBLEVEL = 15 EXTRAVERSION =-sh KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) @@ -130,6 +130,7 @@ DRIVERS-m := DRIVERS- := DRIVERS-$(CONFIG_ACPI) += drivers/acpi/acpi.o +DRIVERS-$(CONFIG_PCI) += drivers/pci/driver.o DRIVERS-$(CONFIG_PARPORT) += drivers/parport/driver.o DRIVERS-y += drivers/base/base.o \ drivers/char/char.o \ @@ -137,19 +138,12 @@ DRIVERS-y += drivers/base/base.o \ drivers/misc/misc.o \ drivers/net/net.o \ drivers/media/media.o -DRIVERS-$(CONFIG_AGP) += drivers/char/agp/agp.o -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_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 DRIVERS-$(CONFIG_ATM) += drivers/atm/atm.o DRIVERS-$(CONFIG_IDE) += drivers/ide/idedriver.o DRIVERS-$(CONFIG_FC4) += drivers/fc4/fc4.a DRIVERS-$(CONFIG_SCSI) += drivers/scsi/scsidrv.o -DRIVERS-$(CONFIG_FUSION_BOOT) += drivers/message/fusion/fusion.o +DRIVERS-$(CONFIG_FUSION) += drivers/message/message.o DRIVERS-$(CONFIG_IEEE1394) += drivers/ieee1394/ieee1394drv.o ifneq ($(CONFIG_CD_NO_IDESCSI)$(CONFIG_BLK_DEV_IDECD)$(CONFIG_BLK_DEV_SR)$(CONFIG_PARIDE_PCD),) @@ -157,13 +151,8 @@ DRIVERS-y += drivers/cdrom/driver.o endif DRIVERS-$(CONFIG_SOUND) += sound/sound.o -DRIVERS-$(CONFIG_PCI) += drivers/pci/driver.o DRIVERS-$(CONFIG_MTD) += drivers/mtd/mtdlink.o DRIVERS-$(CONFIG_PCMCIA) += drivers/pcmcia/pcmcia.o -DRIVERS-$(CONFIG_NET_PCMCIA) += drivers/net/pcmcia/pcmcia_net.o -DRIVERS-$(CONFIG_NET_WIRELESS) += drivers/net/wireless/wireless_net.o -DRIVERS-$(CONFIG_NET_TULIP) += drivers/net/tulip/tulip_net.o -DRIVERS-$(CONFIG_PCMCIA_CHRDEV) += drivers/char/pcmcia/pcmcia_char.o DRIVERS-$(CONFIG_DIO) += drivers/dio/dio.a DRIVERS-$(CONFIG_SBUS) += drivers/sbus/sbus_all.o DRIVERS-$(CONFIG_ZORRO) += drivers/zorro/driver.o @@ -173,14 +162,12 @@ DRIVERS-$(CONFIG_PNP) += drivers/pnp/pnp DRIVERS-$(CONFIG_SGI_IP22) += drivers/sgi/sgi.a DRIVERS-$(CONFIG_VT) += drivers/video/video.o DRIVERS-$(CONFIG_PARIDE) += drivers/block/paride/paride.a -DRIVERS-$(CONFIG_HAMRADIO) += drivers/net/hamradio/hamradio.o DRIVERS-$(CONFIG_TC) += drivers/tc/tc.a DRIVERS-$(CONFIG_USB) += drivers/usb/usbdrv.o DRIVERS-$(CONFIG_INPUT) += drivers/input/inputdrv.o DRIVERS-$(CONFIG_GAMEPORT) += drivers/input/gameport/gamedrv.o DRIVERS-$(CONFIG_SERIO) += drivers/input/serio/seriodrv.o -DRIVERS-$(CONFIG_I2O) += drivers/message/i2o/i2o.o -DRIVERS-$(CONFIG_IRDA) += drivers/net/irda/irda.o +DRIVERS-$(CONFIG_I2O) += drivers/message/message.o DRIVERS-$(CONFIG_I2C) += drivers/i2c/i2c.o DRIVERS-$(CONFIG_PHONE) += drivers/telephony/telephony.o DRIVERS-$(CONFIG_MD) += drivers/md/mddev.o @@ -392,17 +379,8 @@ else depmod_opts := -b $(INSTALL_MOD_PATH) -r endif .PHONY: _modinst_post -_modinst_post: _modinst_post_pcmcia +_modinst_post: if [ -r System.map ]; then $(DEPMOD) -ae -F System.map $(depmod_opts) $(KERNELRELEASE); fi - -# Backwards compatibilty symlinks for people still using old versions -# of pcmcia-cs with hard coded pathnames on insmod. Remove -# _modinst_post_pcmcia for kernel 2.4.1. -.PHONY: _modinst_post_pcmcia -_modinst_post_pcmcia: - cd $(MODLIB); \ - mkdir -p pcmcia; \ - find kernel -path '*/pcmcia/*' -name '*.o' | xargs -i -r ln -sf ../{} pcmcia .PHONY: $(patsubst %, _modinst_%, $(SUBDIRS)) $(patsubst %, _modinst_%, $(SUBDIRS)) : Index: arch/sh/kernel/pci_st40.c =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/kernel/pci_st40.c,v retrieving revision 1.1 diff -u -3 -p -r1.1 pci_st40.c --- arch/sh/kernel/pci_st40.c 15 Oct 2001 20:44:51 -0000 1.1 +++ arch/sh/kernel/pci_st40.c 23 May 2002 01:06:52 -0000 @@ -414,10 +414,6 @@ void __init pcibios_fixup_pbus_ranges(struct pci_bus *bus, struct pbus_set_ranges_data *ranges) { - ranges->io_start -= bus->resource[0]->start; - ranges->io_end -= bus->resource[0]->start; - ranges->mem_start -= bus->resource[1]->start; - ranges->mem_end -= bus->resource[1]->start; } void __init pcibios_init(void) Index: arch/sh/kernel/pcibios.c =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/kernel/pcibios.c,v retrieving revision 1.1 diff -u -3 -p -r1.1 pcibios.c --- arch/sh/kernel/pcibios.c 15 Oct 2001 20:44:53 -0000 1.1 +++ arch/sh/kernel/pcibios.c 23 May 2002 01:06:52 -0000 @@ -61,6 +61,8 @@ pcibios_update_resource(struct pci_dev * * modulo 0x400. */ void pcibios_align_resource(void *data, struct resource *res, unsigned long size) +void pcibios_align_resource(void *data, struct resource *res, + unsigned long size, unsigned long align) { if (res->flags & IORESOURCE_IO) { unsigned long start = res->start; Index: arch/sh/kernel/signal.c =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/kernel/signal.c,v retrieving revision 1.9 diff -u -3 -p -r1.9 signal.c --- arch/sh/kernel/signal.c 12 Apr 2002 04:26:28 -0000 1.9 +++ arch/sh/kernel/signal.c 23 May 2002 01:06:52 -0000 @@ -643,7 +643,7 @@ int do_signal(struct pt_regs *regs, sigs continue; switch (signr) { - case SIGCONT: case SIGCHLD: case SIGWINCH: + case SIGCONT: case SIGCHLD: case SIGWINCH: case SIGURG: continue; case SIGTSTP: case SIGTTIN: case SIGTTOU: Index: drivers/Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/Makefile,v retrieving revision 1.7 diff -u -3 -p -r1.7 Makefile --- drivers/Makefile 22 Mar 2002 10:52:09 -0000 1.7 +++ drivers/Makefile 23 May 2002 01:06:52 -0000 @@ -7,8 +7,8 @@ mod-subdirs := dio mtd sbus video macintosh usb input telephony sgi ide \ - message/i2o message/fusion scsi md ieee1394 pnp isdn atm \ - fc4 net/hamradio i2c acpi bluetooth input/serio \ + message scsi md ieee1394 pnp isdn atm \ + fc4 i2c acpi bluetooth input/serio \ input/gameport parport hotplug maple subdir-y := base char block net misc media cdrom @@ -35,17 +35,14 @@ subdir-$(CONFIG_PHONE) += telephony subdir-$(CONFIG_SGI) += sgi subdir-$(CONFIG_IDE) += ide subdir-$(CONFIG_SCSI) += scsi -subdir-$(CONFIG_I2O) += message/i2o -subdir-$(CONFIG_FUSION) += message/fusion +subdir-$(CONFIG_I2O) += message +subdir-$(CONFIG_FUSION) += message subdir-$(CONFIG_MD) += md subdir-$(CONFIG_IEEE1394) += ieee1394 subdir-$(CONFIG_PNP) += pnp subdir-$(CONFIG_ISDN) += isdn subdir-$(CONFIG_ATM) += atm subdir-$(CONFIG_FC4) += fc4 - -# CONFIG_HAMRADIO can be set without CONFIG_NETDEVICE being set -- ch -subdir-$(CONFIG_HAMRADIO) += net/hamradio subdir-$(CONFIG_I2C) += i2c subdir-$(CONFIG_ACPI) += acpi Index: drivers/char/Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/char/Makefile,v retrieving revision 1.7 diff -u -3 -p -r1.7 Makefile --- drivers/char/Makefile 1 May 2002 06:18:01 -0000 1.7 +++ drivers/char/Makefile 23 May 2002 01:06:52 -0000 @@ -150,7 +150,13 @@ obj-$(CONFIG_SPECIALIX) += specialix.o obj-$(CONFIG_AMIGA_BUILTIN_SERIAL) += amiserial.o obj-$(CONFIG_A2232) += ser_a2232.o generic_serial.o obj-$(CONFIG_SX) += sx.o generic_serial.o -obj-$(CONFIG_RIO) += rio/rio.o generic_serial.o + +obj-$(CONFIG_RIO) += generic_serial.o +subdir-$(CONFIG_RIO) += rio +ifeq ($(CONFIG_RIO),y) + obj-y += rio/rio.o +endif + obj-$(CONFIG_SH_SCI) += sh-sci.o generic_serial.o obj-$(CONFIG_SERIAL167) += serial167.o obj-$(CONFIG_MVME147_SCC) += generic_serial.o vme_scc.o @@ -158,8 +164,6 @@ obj-$(CONFIG_MVME162_SCC) += generic_ser obj-$(CONFIG_BVME6000_SCC) += generic_serial.o vme_scc.o obj-$(CONFIG_SERIAL_TX3912) += generic_serial.o serial_tx3912.o -subdir-$(CONFIG_RIO) += rio - obj-$(CONFIG_ATIXL_BUSMOUSE) += atixlmouse.o obj-$(CONFIG_LOGIBUSMOUSE) += logibusmouse.o obj-$(CONFIG_PRINTER) += lp.o @@ -191,12 +195,8 @@ obj-$(CONFIG_INTEL_RNG) += i810_rng.o obj-$(CONFIG_QIC02_TAPE) += tpqic02.o subdir-$(CONFIG_FTAPE) += ftape -subdir-$(CONFIG_DRM) += drm -subdir-$(CONFIG_PCMCIA) += pcmcia -subdir-$(CONFIG_AGP) += agp - ifeq ($(CONFIG_FTAPE),y) -obj-y += ftape/ftape.o + obj-y += ftape/ftape.o endif obj-$(CONFIG_H8) += h8.o @@ -229,6 +229,21 @@ obj-$(CONFIG_SOFT_WATCHDOG) += softdog.o subdir-$(CONFIG_MWAVE) += mwave ifeq ($(CONFIG_MWAVE),y) obj-y += mwave/mwave.o +endif + +subdir-$(CONFIG_AGP) += agp +ifeq ($(CONFIG_AGP),y) + obj-y += agp/agp.o +endif + +subdir-$(CONFIG_DRM) += drm +ifeq ($(CONFIG_DRM),y) + obj-y += drm/drm.o +endif + +subdir-$(CONFIG_PCMCIA) += pcmcia +ifeq ($(CONFIG_PCMCIA),y) + obj-y += pcmcia/pcmcia_char.o endif include $(TOPDIR)/Rules.make Index: include/asm-sh/ide.h =================================================================== RCS file: /cvsroot/linuxsh/linux/include/asm-sh/ide.h,v retrieving revision 1.3 diff -u -3 -p -r1.3 ide.h --- include/asm-sh/ide.h 1 May 2002 01:10:47 -0000 1.3 +++ include/asm-sh/ide.h 23 May 2002 01:06:52 -0000 @@ -95,7 +95,7 @@ static __inline__ void ide_init_hwif_por static __inline__ void ide_init_default_hwifs(void) { -#ifndef CONFIG_BLK_DEV_IDEPCI +#ifndef CONFIG_PCI hw_regs_t hw; int index; @@ -104,37 +104,10 @@ static __inline__ void ide_init_default_ hw.irq = ide_default_irq(ide_default_io_base(index)); ide_register_hw(&hw, NULL); } -#endif /* CONFIG_BLK_DEV_IDEPCI */ +#endif /* CONFIG_PCI */ } -typedef union { - unsigned all : 8; /* all of the bits together */ - struct { - unsigned head : 4; /* always zeros here */ - unsigned unit : 1; /* drive select number, 0 or 1 */ - unsigned bit5 : 1; /* always 1 */ - unsigned lba : 1; /* using LBA instead of CHS */ - unsigned bit7 : 1; /* always 1 */ - } b; -} select_t; - -typedef union { - unsigned all : 8; /* all of the bits together */ - struct { - unsigned bit0 : 1; - unsigned nIEN : 1; /* device INTRQ to host */ - unsigned SRST : 1; /* host soft reset bit */ - unsigned bit3 : 1; /* ATA-2 thingy */ - unsigned reserved456 : 3; - unsigned HOB : 1; /* 48-bit address ordering */ - } b; -} control_t; - -/* - * The following are not needed for the non-m68k ports - */ #define ide_ack_intr(hwif) (1) -#define ide_fix_driveid(id) do {} while (0) #define ide_release_lock(lock) do {} while (0) #define ide_get_lock(lock, hdlr, data) do {} while (0) Index: kernel/ptrace.c =================================================================== RCS file: /cvsroot/linuxsh/linux/kernel/ptrace.c,v retrieving revision 1.7 diff -u -3 -p -r1.7 ptrace.c --- kernel/ptrace.c 22 Mar 2002 10:52:09 -0000 1.7 +++ kernel/ptrace.c 23 May 2002 01:06:53 -0000 @@ -160,6 +160,7 @@ int access_process_vm(struct task_struct put_page(page); len -= bytes; buf += bytes; + addr += bytes; } up_read(&mm->mmap_sem); mmput(mm); |