* Re: Incoming to hostme.bitkeeper.com:/ua/repos/p/ppc/linuxppc_2_4_devel [not found] <20011108193006.26A0010028@hostme.bitkeeper.com> @ 2001-11-08 19:38 ` Tom Rini 2001-11-08 21:40 ` Dan Malek 0 siblings, 1 reply; 10+ messages in thread From: Tom Rini @ 2001-11-08 19:38 UTC (permalink / raw) To: linuxppc-dev; +Cc: linuxppc-commit On Thu, Nov 08, 2001 at 11:30:06AM -0800, ppc@bitkeeper.com wrote: > ChangeSet@1.612, 2001-11-08 12:29:36-07:00, trini@opus.bloom.county > Make serial_init (in wrapper) take two args. I was thinking about this a bit. The problem is that we have multiple types of serial controllers we need to 'init' some how. We have the ns1655x style ones in most 6xx/7xx/74xx and 4xx boards, and the integrated controllers in 8xx and 8260 CPUs which have their own way of being init'ed. We can either a) have a 'serial_init' function which will do the right thing, even in the case of one file which can work on both. b) We kill the idea of one serial_init which always does the right thing. That lead to something like: #ifdef CONFIG_4xx ns1655x_init(0); /* Use channel 0 from the table */ #else mpc_serial_init(bp); /* Use the bd_t struct to init this */ #endif Comments? Does the current (first) way rub anyone horribly wrong? Is there an even better idea out there? -- Tom Rini (TR1265) http://gate.crashing.org/~trini/ ** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Incoming to hostme.bitkeeper.com:/ua/repos/p/ppc/linuxppc_2_4_devel 2001-11-08 19:38 ` Incoming to hostme.bitkeeper.com:/ua/repos/p/ppc/linuxppc_2_4_devel Tom Rini @ 2001-11-08 21:40 ` Dan Malek 2001-11-08 21:47 ` Tom Rini 0 siblings, 1 reply; 10+ messages in thread From: Dan Malek @ 2001-11-08 21:40 UTC (permalink / raw) To: Tom Rini; +Cc: linuxppc-dev, linuxppc-commit Tom Rini wrote: > I was thinking about this a bit. The problem is that we have multiple > types of serial controllers we need to 'init' some how. This is because I tried to use the same functions across a wide variety of boards. All we need to do is define a macro in a board specific file someplace that calls the proper init function. -- Dan ** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Incoming to hostme.bitkeeper.com:/ua/repos/p/ppc/linuxppc_2_4_devel 2001-11-08 21:40 ` Dan Malek @ 2001-11-08 21:47 ` Tom Rini 2001-11-08 23:06 ` Dan Malek 0 siblings, 1 reply; 10+ messages in thread From: Tom Rini @ 2001-11-08 21:47 UTC (permalink / raw) To: Dan Malek; +Cc: linuxppc-dev, linuxppc-commit On Thu, Nov 08, 2001 at 04:40:30PM -0500, Dan Malek wrote: > Tom Rini wrote: > > > >I was thinking about this a bit. The problem is that we have multiple > >types of serial controllers we need to 'init' some how. > > This is because I tried to use the same functions across a wide variety > of boards. All we need to do is define a macro in a board specific > file someplace that calls the proper init function. Yes, but then you end up with lots and lots of files with just a few lines, or: #if defined(A) || defined(B) || defined(C) || ... || defined(W) #define serial_init(a) foo_init(a) #endif #if defined(X) || defined(Y) || ... || defined(Z) #define serial_init(a) bar_init(a) #endif -- Tom Rini (TR1265) http://gate.crashing.org/~trini/ ** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Incoming to hostme.bitkeeper.com:/ua/repos/p/ppc/linuxppc_2_4_devel 2001-11-08 21:47 ` Tom Rini @ 2001-11-08 23:06 ` Dan Malek 0 siblings, 0 replies; 10+ messages in thread From: Dan Malek @ 2001-11-08 23:06 UTC (permalink / raw) To: Tom Rini; +Cc: linuxppc-dev, linuxppc-commit Tom Rini wrote: > Yes, but then you end up.... Not what I had in mind :-). For example, in include/asm-ppc/mpc8xx.h: #define piggy_serial_init() mpc_serial_init(bp) ...and in include/asm-ppc/ibm4xx.h #define piggy_serial_init() serial_init(0) ...and in misc-embedded.c change you list of #ifdefs to be: piggy_serial_init(); If the individual boards need some different initialization, just move the macro to a lower level include file. -- Dan ** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: <20020604181844.00BFE10306@hostme.bitkeeper.com>]
[parent not found: <20020604155258.B22057@ecam.san.rr.com>]
* Re: Incoming to hostme.bitkeeper.com:/ua/repos/p/ppc/linuxppc_2_4_devel [not found] ` <20020604155258.B22057@ecam.san.rr.com> @ 2002-06-04 22:57 ` andrew may 0 siblings, 0 replies; 10+ messages in thread From: andrew may @ 2002-06-04 22:57 UTC (permalink / raw) To: Matt Porter, ppc_devel On Tue, Jun 04, 2002 at 11:18:44AM -0700, ppc@bitkeeper.com wrote: > ChangeSet > 1.1069.1.2 02/06/04 10:47:24 mporter@beef.az.mvista.com +2 -0 > Fix ibm_ocp_gpio so it can be used. > > The header with ioctl defs is now exposed to userland and includes > linux/types.h so it will build there. Looks like you missed a push for the new ioctl and linux/types.h in the header file. ** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: <20011121185116.6539A100D1@hostme.bitkeeper.com>]
* Re: Incoming to hostme.bitkeeper.com:/ua/repos/p/ppc/linuxppc_2_4_devel [not found] <20011121185116.6539A100D1@hostme.bitkeeper.com> @ 2001-11-21 18:59 ` Tom Rini 0 siblings, 0 replies; 10+ messages in thread From: Tom Rini @ 2001-11-21 18:59 UTC (permalink / raw) To: linuxppc-dev, Paul Mackerras; +Cc: linuxppc-commit On Wed, Nov 21, 2001 at 10:51:16AM -0800, ppc@bitkeeper.com wrote: > ChangeSet@1.682, 2001-11-21 11:39:42-07:00, trini@opus.bloom.county > Re-implement passing the System.map into the chrp wrapper if CONFIG_XMON. > Currently we always add in the map if CONFIG_XMON, but we could make even > this conditional. I have this done but untested on pmac. The problem is that on 'coffboot' we specify not only a link address for .text but for .data as well, and with a System.map in the .rodata, these locations overlap. Does anyone know why we do -Ttext 500000 -Tdata 510000 for coffboot? Is there a certain alignment we have to keep? -- Tom Rini (TR1265) http://gate.crashing.org/~trini/ ** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: <20011101001030.EFA5510094@hostme.bitkeeper.com>]
[parent not found: <3BE1932E.DB7956CA@linux-m68k.org>]
* Re: Incoming to hostme.bitkeeper.com:/ua/repos/p/ppc/linuxppc_2_4_devel [not found] ` <3BE1932E.DB7956CA@linux-m68k.org> @ 2001-11-01 18:56 ` Tom Rini 2001-11-01 22:22 ` Roman Zippel 0 siblings, 1 reply; 10+ messages in thread From: Tom Rini @ 2001-11-01 18:56 UTC (permalink / raw) To: Roman Zippel; +Cc: linuxppc-dev, linuxppc-commit On Thu, Nov 01, 2001 at 07:23:42PM +0100, Roman Zippel wrote: > Hi, > > > ChangeSet@1.559, 2001-10-31 17:09:57-07:00, trini@opus.bloom.county > > Minor cleanups wrt isa_{io,mem}_base and pci_dram_offset, from > > Roman Zippel <zippel@linux-m68k.org> > > You missed the declaritions in mpc8xx.h, that change is in the other > patch. Sorry, I didn't mention it, I didn't resent the parts that > applied cleanly. Arg, not my day. Can you split up the rest of the changes into seperate patches (01, 02, 0n) and make it vs the _devel tree? It'll help stop me from doing things like that. :) -- Tom Rini (TR1265) http://gate.crashing.org/~trini/ ** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Incoming to hostme.bitkeeper.com:/ua/repos/p/ppc/linuxppc_2_4_devel 2001-11-01 18:56 ` Tom Rini @ 2001-11-01 22:22 ` Roman Zippel 2001-11-02 2:10 ` Tom Rini 0 siblings, 1 reply; 10+ messages in thread From: Roman Zippel @ 2001-11-01 22:22 UTC (permalink / raw) To: Tom Rini; +Cc: linuxppc-dev, linuxppc-commit Hi, On Thu, 1 Nov 2001, Tom Rini wrote: > Arg, not my day. Can you split up the rest of the changes into seperate > patches (01, 02, 0n) and make it vs the _devel tree? It'll help stop me > from doing things like that. :) Hmm, there isn't much left to split. BTW the second patch depends on the first and only the last patch doesn't apply to the stable tree. ---------- introduce PPC_MEMSTART/PPC_MEMOFFSET, rename ram_phys_base to ppc_memstart --- include/asm-ppc/page.h Thu Nov 1 21:54:39 2001 +++ include/asm-ppc/page.h Thu Nov 1 22:09:58 2001 @@ -89,6 +89,17 @@ extern void clear_user_page(struct page *page, unsigned long vaddr); extern void copy_user_page(struct page *to, struct page *from, unsigned long vaddr); +extern unsigned long ppc_memstart; +extern unsigned long ppc_memoffset; +#ifndef CONFIG_APUS +#define PPC_MEMSTART 0 +#define PPC_MEMOFFSET PAGE_OFFSET +#else +#define PPC_MEMSTART ppc_memstart +#define PPC_MEMOFFSET ppc_memoffset +#endif + +#if defined(CONFIG_APUS) && !defined(MODULE) /* map phys->virtual and virtual->phys for RAM pages */ static inline unsigned long ___pa(unsigned long v) { @@ -116,6 +127,11 @@ return (void*) v; } +#else +#define ___pa(vaddr) ((vaddr)-PPC_MEMOFFSET) +#define ___va(paddr) ((paddr)+PPC_MEMOFFSET) +#endif + #define __pa(x) ___pa ((unsigned long)(x)) #define __va(x) ___va ((unsigned long)(x)) --- include/asm-ppc/io.h Thu Nov 1 22:32:53 2001 +++ include/asm-ppc/io.h Thu Nov 1 22:36:43 2001 @@ -295,7 +295,7 @@ /* * Change "struct page" to physical address. */ -#define page_to_phys(page) ((page - mem_map) << PAGE_SHIFT) +#define page_to_phys(page) (((page - mem_map) << PAGE_SHIFT) + PPC_MEMSTART) #define page_to_bus(page) (page_to_phys(page) + PCI_DRAM_OFFSET) /* --- include/asm-ppc/pgtable.h Thu Nov 1 21:53:59 2001 +++ include/asm-ppc/pgtable.h Thu Nov 1 22:09:58 2001 @@ -393,7 +393,7 @@ * Permanent address of a page. */ #define page_address(page) ((page)->virtual) -#define pte_page(x) (mem_map+(unsigned long)((pte_val(x) >> PAGE_SHIFT))) +#define pte_page(x) (mem_map+(unsigned long)((pte_val(x)-PPC_MEMSTART) >> PAGE_SHIFT)) #ifndef __ASSEMBLY__ /* @@ -459,7 +459,7 @@ #define mk_pte(page,pgprot) \ ({ \ pte_t pte; \ - pte_val(pte) = ((page - mem_map) << PAGE_SHIFT) | pgprot_val(pgprot); \ + pte_val(pte) = (((page - mem_map) << PAGE_SHIFT) + PPC_MEMSTART) | pgprot_val(pgprot); \ pte; \ }) --- arch/ppc/kernel/apus_setup.c Thu Nov 1 21:54:36 2001 +++ arch/ppc/kernel/apus_setup.c Thu Nov 1 22:09:42 2001 @@ -991,6 +991,8 @@ memory[0].size = ((size+0x001fffff) & 0xffe00000); } + ppc_memstart = memory[0].addr; + ppc_memoffset = PAGE_OFFSET - PPC_MEMSTART; total = memory[0].size; /* Remove the memory chunks that are controlled by special @@ -1011,7 +1013,6 @@ the PowerUP board. Other system memory is horrible slow in comparison. The user can use other memory for swapping using the z2ram device. */ - ram_phys_base = memory[0].addr; return total; } --- arch/ppc/mm/init.c Thu Nov 1 21:54:06 2001 +++ arch/ppc/mm/init.c Thu Nov 1 22:59:45 2001 @@ -62,6 +62,9 @@ unsigned long total_memory; unsigned long total_lowmem; +unsigned long ppc_memstart; +unsigned long ppc_memoffset = PAGE_OFFSET; + int mem_init_done; int init_bootmem_done; int boot_mapsize; @@ -406,8 +409,11 @@ } start = PAGE_ALIGN(start); - boot_mapsize = init_bootmem(start >> PAGE_SHIFT, - total_lowmem >> PAGE_SHIFT); + min_low_pfn = start >> PAGE_SHIFT; + max_low_pfn = (PPC_MEMSTART + total_lowmem) >> PAGE_SHIFT; + boot_mapsize = init_bootmem_node(&contig_page_data, min_low_pfn, + PPC_MEMSTART >> PAGE_SHIFT, + max_low_pfn); /* remove the bootmem bitmap from the available memory */ mem_pieces_remove(&phys_avail, start, boot_mapsize, 1); @@ -460,12 +466,10 @@ highmem_mapnr = total_lowmem >> PAGE_SHIFT; highmem_start_page = mem_map + highmem_mapnr; - max_mapnr = total_memory >> PAGE_SHIFT; -#else - max_mapnr = max_low_pfn; #endif /* CONFIG_HIGHMEM */ + max_mapnr = total_memory >> PAGE_SHIFT; - high_memory = (void *) __va(max_low_pfn * PAGE_SIZE); + high_memory = __va(PPC_MEMSTART + total_lowmem); num_physpages = max_mapnr; /* RAM is assumed contiguous */ totalram_pages += free_all_bootmem(); @@ -553,7 +557,7 @@ * physical memory. */ - phys_avail.regions[0].address = 0; + phys_avail.regions[0].address = PPC_MEMSTART; phys_avail.regions[0].size = total_memory; phys_avail.n_regions = 1; --- arch/ppc/mm/mmu_decl.h Thu Nov 1 21:53:48 2001 +++ arch/ppc/mm/mmu_decl.h Thu Nov 1 22:47:46 2001 @@ -38,7 +38,6 @@ extern unsigned long total_memory; extern unsigned long total_lowmem; -extern unsigned long ram_phys_base; extern int mem_init_done; extern PTE *Hash, *Hash_end; --- arch/ppc/mm/pgtable.c Thu Nov 1 21:57:11 2001 +++ arch/ppc/mm/pgtable.c Thu Nov 1 22:09:42 2001 @@ -35,8 +35,6 @@ #include "mmu_decl.h" -unsigned long ram_phys_base; - unsigned long ioremap_base; unsigned long ioremap_bot; int io_bat_index; @@ -199,7 +197,7 @@ #endif /* HAVE_BATS */ v = KERNELBASE; - p = ram_phys_base; + p = PPC_MEMSTART; for (s = 0; s < total_lowmem; s += PAGE_SIZE) { /* On the MPC8xx, we want the page shared so we * don't get ASID compares on kernel space. --- arch/ppc/mm/ppc_mmu.c Thu Nov 1 21:55:56 2001 +++ arch/ppc/mm/ppc_mmu.c Thu Nov 1 22:09:42 2001 @@ -96,8 +96,8 @@ /* Make sure we don't map a block larger than the smallest alignment of the physical address. */ - /* alignment of ram_phys_base */ - align = ~(ram_phys_base-1) & ram_phys_base; + /* alignment of PPC_MEMSTART */ + align = ~(PPC_MEMSTART-1) & PPC_MEMSTART; /* set BAT block size to MIN(max_size, align) */ if (align && align < max_size) max_size = align; @@ -108,7 +108,7 @@ break; } - setbat(2, KERNELBASE, ram_phys_base, bl, _PAGE_KERNEL); + setbat(2, KERNELBASE, PPC_MEMSTART, bl, _PAGE_KERNEL); done = (unsigned long)bat_addrs[2].limit - KERNELBASE + 1; if ((done < tot) && !bat_addrs[3].limit) { /* use BAT3 to cover a bit more */ @@ -116,7 +116,7 @@ for (bl = 128<<10; bl < max_size; bl <<= 1) if (bl * 2 > tot) break; - setbat(3, KERNELBASE+done, ram_phys_base+done, bl, + setbat(3, KERNELBASE+done, PPC_MEMSTART+done, bl, _PAGE_KERNEL); } } ---------- replace end_of_DRAM with high_memory --- arch/ppc/mm/init.c Thu Nov 1 22:59:45 2001 +++ arch/ppc/mm/init.c Thu Nov 1 22:59:02 2001 @@ -58,7 +58,6 @@ mmu_gather_t mmu_gathers[NR_CPUS]; -void *end_of_DRAM; unsigned long total_memory; unsigned long total_lowmem; @@ -327,7 +326,6 @@ total_memory = total_lowmem; #endif /* CONFIG_HIGHMEM */ } - end_of_DRAM = __va(total_lowmem); set_phys_avail(total_lowmem); /* Initialize the MMU hardware */ @@ -497,7 +495,7 @@ addr += PAGE_SIZE) SetPageReserved(virt_to_page(addr)); - for (addr = PAGE_OFFSET; addr < (unsigned long)end_of_DRAM; + for (addr = PAGE_OFFSET; addr < (unsigned long)high_memory; addr += PAGE_SIZE) { if (!PageReserved(virt_to_page(addr))) continue; --- arch/ppc/mm/mmu_decl.h Thu Nov 1 22:47:46 2001 +++ arch/ppc/mm/mmu_decl.h Thu Nov 1 22:09:42 2001 @@ -31,7 +31,6 @@ extern void reserve_phys_mem(unsigned long start, unsigned long size); extern int __map_without_bats; -extern void *end_of_DRAM; extern unsigned long ioremap_base; extern unsigned long ioremap_bot; extern unsigned int rtas_data, rtas_size; ---------- move ifdef __KERNEL__ inside include protection --- include/asm-ppc/io.h Thu Nov 1 22:36:43 2001 +++ include/asm-ppc/io.h Thu Nov 1 22:13:42 2001 @@ -2,10 +2,11 @@ * BK Id: SCCS/s.io.h 1.21 10/16/01 16:44:09 %#% */ -#ifdef __KERNEL__ #ifndef _PPC_IO_H #define _PPC_IO_H +#ifdef __KERNEL__ + #include <linux/config.h> #include <asm/page.h> #include <asm/byteorder.h> @@ -448,5 +449,5 @@ #define consistent_sync_page(pg, off, sz, rw) do { } while (0) #endif /* CONFIG_NOT_COHERENT_CACHE */ -#endif /* _PPC_IO_H */ #endif /* __KERNEL__ */ +#endif /* _PPC_IO_H */ ** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Incoming to hostme.bitkeeper.com:/ua/repos/p/ppc/linuxppc_2_4_devel 2001-11-01 22:22 ` Roman Zippel @ 2001-11-02 2:10 ` Tom Rini 2001-11-02 10:09 ` Roman Zippel 0 siblings, 1 reply; 10+ messages in thread From: Tom Rini @ 2001-11-02 2:10 UTC (permalink / raw) To: Roman Zippel; +Cc: linuxppc-dev, linuxppc-commit On Thu, Nov 01, 2001 at 11:22:14PM +0100, Roman Zippel wrote: > Hi, > > On Thu, 1 Nov 2001, Tom Rini wrote: > > > Arg, not my day. Can you split up the rest of the changes into seperate > > patches (01, 02, 0n) and make it vs the _devel tree? It'll help stop me > > from doing things like that. :) > > Hmm, there isn't much left to split. > BTW the second patch depends on the first and only the last patch doesn't > apply to the stable tree. Just wondering, but have you tried these changes on a 'fake' CONFIG_HIGHMEM setup? (eg set MAX_LOW_MEM to half your real RAM or so..) -- Tom Rini (TR1265) http://gate.crashing.org/~trini/ ** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Incoming to hostme.bitkeeper.com:/ua/repos/p/ppc/linuxppc_2_4_devel 2001-11-02 2:10 ` Tom Rini @ 2001-11-02 10:09 ` Roman Zippel 0 siblings, 0 replies; 10+ messages in thread From: Roman Zippel @ 2001-11-02 10:09 UTC (permalink / raw) To: Tom Rini; +Cc: linuxppc-dev, linuxppc-commit Hi, On Thu, 1 Nov 2001, Tom Rini wrote: > Just wondering, but have you tried these changes on a 'fake' > CONFIG_HIGHMEM setup? (eg set MAX_LOW_MEM to half your real RAM or so..) No and I don't expect any problems for any non-APUS configuration and APUS doesn't need the highmem option. bye, Roman ** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2002-06-04 22:57 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20011108193006.26A0010028@hostme.bitkeeper.com>
2001-11-08 19:38 ` Incoming to hostme.bitkeeper.com:/ua/repos/p/ppc/linuxppc_2_4_devel Tom Rini
2001-11-08 21:40 ` Dan Malek
2001-11-08 21:47 ` Tom Rini
2001-11-08 23:06 ` Dan Malek
[not found] <20020604181844.00BFE10306@hostme.bitkeeper.com>
[not found] ` <20020604155258.B22057@ecam.san.rr.com>
2002-06-04 22:57 ` andrew may
[not found] <20011121185116.6539A100D1@hostme.bitkeeper.com>
2001-11-21 18:59 ` Tom Rini
[not found] <20011101001030.EFA5510094@hostme.bitkeeper.com>
[not found] ` <3BE1932E.DB7956CA@linux-m68k.org>
2001-11-01 18:56 ` Tom Rini
2001-11-01 22:22 ` Roman Zippel
2001-11-02 2:10 ` Tom Rini
2001-11-02 10:09 ` Roman Zippel
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).