aboutsummaryrefslogtreecommitdiffstats
path: root/arch
Commit message (Collapse)AuthorAge
* powerpc: make it compile for multithread changeAndrew Morton2007-04-27
| | | | | | | | | | arch/powerpc/kernel/of_platform.c:479: error: unknown field `multithread_probe' specified in initializer Cc: Paul Mackerras <paulus@samba.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6Linus Torvalds2007-04-27
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6: (67 commits) [SCSI] SUNESP: Complete driver rewrite to version 2.0 [SPARC64]: Convert PCI over to generic struct iommu/strbuf. [SPARC]: device_node name constification fallout [SPARC64]: Convert SBUS over to generic iommu/strbuf structs. [SPARC64]: Add generic iommu and strbuf structs to iommu.h [SPARC64]: Consolidate {sbus,pci}_iommu_arena. [SPARC]: Make device_node name and type const [SPARC64]: constify some paramaters of OF routines [TIGON3]: of_get_property() returns const. [SPARC64]: Fix PCI rework to adhere to of_get_property() const return. [SPARC64]: Document and fix calculation of pages_avail. [SPARC64]: Make sure pbm->prom_node is setup easly enough in psycho.c [SPARC64]: Use bootmem_bootmap_pages() in choose_bootmap_pfn(). [SPARC64]: Add proper header file extern for cmdline_memory_size. [SPARC64]: Kill sparc_ultra_dump_{i,d}tlb() [SPARC64]: Use DECLARE_BITMAP and BITS_TO_LONGS in mm/init.c [SPARC64]: Give move verbose show_mem() output just like i386. [SPARC64]: Mark show_mem() printk's with KERN_INFO. [SPARC64]: Kill kvaddr_to_phys() and friends. [SPARC64]: Privatize sun4u_get_pte() and fix name. ...
| * [SPARC64]: Convert PCI over to generic struct iommu/strbuf.David S. Miller2007-04-27
| | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC]: device_node name constification falloutStephen Rothwell2007-04-26
| | | | | | | | | | | | | | A couple of routines need their arguments to be const. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Convert SBUS over to generic iommu/strbuf structs.David S. Miller2007-04-26
| | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Consolidate {sbus,pci}_iommu_arena.David S. Miller2007-04-26
| | | | | | | | | | | | Move to asm-sparc64/iommu.h and rename to plain "iommu_arena". Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: constify some paramaters of OF routinesStephen Rothwell2007-04-26
| | | | | | | | | | | | | | | | This starts bringing the PowerPC and Sparc64 implemetations back closer together. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Fix PCI rework to adhere to of_get_property() const return.David S. Miller2007-04-26
| | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Document and fix calculation of pages_avail.David S. Miller2007-04-26
| | | | | | | | | | | | | | | | It should be set to the total number of pages that the system will really have available after things like initmem, the bootmem map, and initrd are freed up. Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Make sure pbm->prom_node is setup easly enough in psycho.cDavid S. Miller2007-04-26
| | | | | | | | | | | | It needs to be ready before we invoke pci_determine_mem_io_space(). Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Use bootmem_bootmap_pages() in choose_bootmap_pfn().David S. Miller2007-04-26
| | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Add proper header file extern for cmdline_memory_size.David S. Miller2007-04-26
| | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Kill sparc_ultra_dump_{i,d}tlb()David S. Miller2007-04-26
| | | | | | | | | | | | | | | | | | | | | | While useful in odd circumstances to debug something, they are normally totally unused and anyone can fetch this code out of the history if they really need it. And in any event, the person who needs this kind of code is usually me :-) Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Use DECLARE_BITMAP and BITS_TO_LONGS in mm/init.cDavid S. Miller2007-04-26
| | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Give move verbose show_mem() output just like i386.David S. Miller2007-04-26
| | | | | | | | | | | | | | We now report everything i386 does except for highmem which doesn't apply. Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Mark show_mem() printk's with KERN_INFO.David S. Miller2007-04-26
| | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Kill kvaddr_to_phys() and friends.David S. Miller2007-04-26
| | | | | | | | | | | | | | Just inline it into flush_icache_range() which is the only user. Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Privatize sun4u_get_pte() and fix name.David S. Miller2007-04-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | __get_phys is only called from init.c as is prom_virt_to_phys(), __get_iospace() is not called at all, and sun4u_get_pte() is largely misnamed. Privatize the implementation and helper functions of sun4u_get_phys() to mm/init.c, and rename to kvaddr_to_paddr(). The only used of this thing is flush_icache_range(), and thus things can be considerably further simplified. For example, we should only see module or PAGE_OFFSET kernel addresses here, so we don't need the OBP firmware range handling at all. Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Kill _start[]/_end[] declarations in mm/init.cDavid S. Miller2007-04-26
| | | | | | | | | | | | We already get those from asm/sections.h Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Simplify read_obp_memory().David S. Miller2007-04-26
| | | | | | | | | | | | | | Kick out empty entries as soon as we spot them, and use memmove() instead of a silly loop to make the operation more clear. Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Use SPARSEMEM_STATICDavid S. Miller2007-04-26
| | | | | | | | | | | | | | | | | | | | | | | | Decrease the SECTION_SIZE_BITS --> MAX_PHYSADDR_BITS range a little bit. The cost of going to SPARSEMEM_STATIC becomes 8K of BSS space, and in return we save a pointer dereferences on every page struct lookup. Even better we hit the main kernel image for the base address which is in a hugepage locked TLB entry. Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Force dummy host controller onto bus zero.David S. Miller2007-04-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This helps deal with the invisible bridge that sits between the host controller and the top-most visisble PCI devices on hypervisor systems. For example, on T1000 the bus-range property says 2 --> 4 and so there is a PCI express bridge at bus 2, devfn 0, etc. So if we don't force the dummy host controller to bus zero, we'll try to create two devices with the same domain/bus/devfn triplet. Also, add some more log diagnostics to make debugging stuff like this easyer. Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Add dummy host controller to root of all PCI domains.David S. Miller2007-04-26
| | | | | | | | | | | | | | We fake up a dummy one in all cases because that is the simplest thing to do and it happens to be necessary for hypervisor systems. Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Const'ify pci_iommu_ops.David S. Miller2007-04-26
| | | | | | | | | | | | | | Based upon a similar patch for x86_64 written by Stephen Hemminger. Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Kill pbm->pci_first_slot.David S. Miller2007-04-26
| | | | | | | | | | | | Set but never used. Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Kill pci_controller->pbms_same_domainDavid S. Miller2007-04-26
| | | | | | | | | | | | | | | | We don't do the "Simba APB is a PBM" bogosity for Sabre controllers any longer, so this pbms_same_domain thing is no longer necessary. Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Kill pci_controller->base_address_update().David S. Miller2007-04-26
| | | | | | | | | | | | Implemented but never actually used. Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Kill pci_controller->resource_adjust()David S. Miller2007-04-26
| | | | | | | | | | | | | | All the implementations can be identical and generic, so no need for controller specific methods. Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Kill PBM ranges software state.David S. Miller2007-04-26
| | | | | | | | | | | | | | It is only used in one spot and we can just fetch the OF property right there. Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Kill PBM intmap software state.David S. Miller2007-04-26
| | | | | | | | | | | | Set but never used. Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Consolidate PCI mem/io resource determination.David S. Miller2007-04-26
| | | | | | | | | | | | It can be done for every PCI configuration using OF properties. Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Fix sabre pci controllers with new probing scheme.David S. Miller2007-04-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The SIMBA APB bridge is strange, it is a PCI bridge but it lacks some standard OF properties, in particular it lacks a 'ranges' property. What you have to do is read the IO and MEM range registers in the APB bridge to determine the ranges handled by each bridge. So fill in the bus resources by doing that. Since we now handle this quirk in the generic PCI and OF device probing layers, we can flat out eliminate all of that code from the sabre pci controller driver. In fact we can thus eliminate completely another quirk of the sabre driver. It tried to make the two APB bridges look like PBMs but that makes zero sense now (and it's questionable whether it ever made sense). So now just use pbm_A and probe the whole PCI hierarchy using that as the root. This simplification allows many future cleanups to occur. Also, I've found yet another quirk that needs to be worked around while testing this. You can't use the 'class-code' OF firmware property, especially for IDE controllers. We have to read the value out of PCI config space or else we'll see the value the device was showing before it was programmed into native mode. I'm starting to think it might be wise to just read all of the values out of PCI config space instead of using the OF properties. :-/ Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Fix obppath pci device sysfs creation.David S. Miller2007-04-26
| | | | | | | | | | | | | | Need to traverse recursively down child busses else we only get the file created under devices at the top-level. Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Minor cleanups to schizo pci controller driver.David S. Miller2007-04-26
| | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Internalize pci_memspace_mask.David S. Miller2007-04-26
| | | | | | | | | | | | | | | | | | The only user was bus_dvma_to_mem() which is no longer used by any driver, so kill that, and the export of pci_memspace_mask. The only user now is the PCI mmap support code. Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Probe PCI bus using OF device tree.David S. Miller2007-04-26
| | | | | | | | | | | | | | | | | | Almost entirely taken from the 64-bit PowerPC PCI code. This allowed to eliminate a ton of cruft from the sparc64 PCI layer. Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64] isa: Convert to use pci_device_to_OF_node().David S. Miller2007-04-26
| | | | | | | | | | | | | | Also, do not try to compute resources by hand, instead use the pre-computed ones in the of_device. Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64] ebus: Convert to use pci_device_to_OF_node().David S. Miller2007-04-26
| | | | | | | | | | | | | | Also, we don't need to store or use the PBM so kill that from the linux_ebus. Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC]: Use strcasecmp for OFW property name comparisons.David S. Miller2007-04-26
| | | | | | | | | | | | | | | | This allows us to simplify sharing code with powerpc which has properties that have various forms of capitalization when on the sparc64 side the property is all lower-case. Signed-off-by: David S. Miller <davem@davemloft.net>
| * [STRING]: Move strcasecmp/strncasecmp to lib/string.cDavid S. Miller2007-04-26
| | | | | | | | | | | | | | We have several platforms using local copies of identical code. Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC]: constify some paramaters of OF routinesStephen Rothwell2007-04-26
| | | | | | | | | | | | | | | | This starts bringing the PowerPC and Sparc implemetations back closer together. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC/64]: constify of_get_property returnStephen Rothwell2007-04-26
| | | | | | | | | | | | | | Finally, we actually change the functions themselves. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: constify of_get_property return: arch/sparc64Stephen Rothwell2007-04-26
| | | | | | | | | | Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC]: constify of_get_property return: arch/sparcStephen Rothwell2007-04-26
| | | | | | | | | | Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Small cleanups time.cTony Breeds2007-04-26
| | | | | | | | | | | | | | | | | | - Removes days_in_mo[], as it's almost identical to month_days[] - Use the leapyear() macro - Line length wrapping. Signed-off-by: Tony Breeds <tony@bakeyournoodle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Fix sparc64_next_event() error return.David S. Miller2007-04-26
| | | | | | | | | | | | | | | | It should return an error code not a boolean. Based upon an hpet timer fix by Thomas Gleixner. Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Add clocksource/clockevents support.David S. Miller2007-04-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I'd like to thank John Stul and others for helping me along the way. A lot of cleanups fell out of this. For example, the get_compare() tick_op was totally unused, so was deleted. And the most often used tick_op members were grouped together for cache-friendlyness. The sparc64 TSC is given to the kernel as a one-shot timer. tick_ops->init_timer() simply turns off the privileged bit in the tick register (when possible), and disables the interrupt by setting bit 63 in the compare register. The ->disable_irq() op also sets this bit. tick_ops->add_compare() is changed to: 1) Add the given delta to "tick" not to "compare" 2) Return a boolean which, if true, means that the tick value read after writing the compare value was found to have incremented past the initial tick value. This mirrors logic used in the HPET driver's ->next_event() method. Each tick_ops implementation also now provides a name string. And we feed this into the clocksource and clockevents layers. Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Add tick_nohz_{stop,restart}_sched_tick() calls to cpu_idle().David S. Miller2007-04-26
| | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Unify timer interrupt handler.David S. Miller2007-04-26
| | | | | | | | | | | | | | | | | | Things were scattered all over the place, split between SMP and non-SMP. Unify it all so that dyntick support is easier to add. Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Synchronize RTC clock via timer just like x86.David S. Miller2007-04-26
| | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>