summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [SPARC64]: Document and fix calculation of pages_avail.David S. Miller2007-04-261-2/+23
| | | | | | | | 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-261-2/+2
| | | | | | 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-261-2/+2
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* [SPARC64]: Add proper header file extern for cmdline_memory_size.David S. Miller2007-04-262-2/+2
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* [SPARC64]: Kill sparc_ultra_dump_{i,d}tlb()David S. Miller2007-04-261-87/+0
| | | | | | | | | | | 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-261-6/+7
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* [SPARC64]: Give move verbose show_mem() output just like i386.David S. Miller2007-04-261-2/+37
| | | | | | | 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-261-4/+4
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* [SPARC64]: Kill kvaddr_to_phys() and friends.David S. Miller2007-04-261-63/+28
| | | | | | | 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-262-81/+62
| | | | | | | | | | | | | | | | | __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-261-3/+0
| | | | | | We already get those from asm/sections.h Signed-off-by: David S. Miller <davem@davemloft.net>
* [SPARC64]: MAX_PHYSADDR_BITS et al. really need to be 42 bits not 41.David S. Miller2007-04-261-2/+2
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* [SPARC64]: Simplify read_obp_memory().David S. Miller2007-04-261-16/+11
| | | | | | | 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-262-3/+4
| | | | | | | | | | | | 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]: Use DECLARE_BITMAP in struct pci_iommu.David S. Miller2007-04-261-1/+1
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* [SPARC64]: Force dummy host controller onto bus zero.David S. Miller2007-04-261-8/+10
| | | | | | | | | | | | | | | | | | 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-266-30/+129
| | | | | | | 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-264-5/+5
| | | | | | | 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-266-17/+2
| | | | | | Set but never used. Signed-off-by: David S. Miller <davem@davemloft.net>
* [SPARC64]: Kill pci_controller->pbms_same_domainDavid S. Miller2007-04-265-69/+12
| | | | | | | | 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-265-183/+0
| | | | | | Implemented but never actually used. Signed-off-by: David S. Miller <davem@davemloft.net>
* [SPARC64]: Kill pci_controller->resource_adjust()David S. Miller2007-04-266-50/+12
| | | | | | | 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-265-34/+15
| | | | | | | 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-264-31/+0
| | | | | | Set but never used. Signed-off-by: David S. Miller <davem@davemloft.net>
* [SPARC64]: Consolidate PCI mem/io resource determination.David S. Miller2007-04-266-218/+103
| | | | | | 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-263-284/+165
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-261-0/+3
| | | | | | | 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-261-79/+31
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* [SPARC64]: Internalize pci_memspace_mask.David S. Miller2007-04-264-9/+3
| | | | | | | | | 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-2610-1063/+426
| | | | | | | | | 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-262-34/+4
| | | | | | | 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-262-11/+3
| | | | | | | 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>
* [IGAFB]: Use pci_device_to_OF_node() on sparc.David S. Miller2007-04-261-12/+12
| | | | | | Also __sparc__ --> CONFIG_SPARC Signed-off-by: David S. Miller <davem@davemloft.net>
* [ATYFB]: Use pci_device_to_OF_node() in sparc.David S. Miller2007-04-261-3/+3
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* [OPENPROM]: Use pci_device_to_OF_node().David S. Miller2007-04-261-10/+8
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* [TULIP]: Use pci_device_to_OF_node() on sparc.David S. Miller2007-04-261-11/+7
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* [TULIP]: Use CONFIG_SPARC consistently in ifdef tests.David S. Miller2007-04-265-16/+12
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* [TG3]: Use pci_device_to_OF_node() on sparc.David S. Miller2007-04-261-18/+13
| | | | | | | And use CONFIG_SPARC instead of CONFIG_SPARC64 as the test. Signed-off-by: David S. Miller <davem@davemloft.net>
* [SUNHME]: Use pci_device_to_OF_node().David S. Miller2007-04-261-13/+5
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* [SUNGEM]: Consolidate powerpc and sparc MAC probing code.David S. Miller2007-04-262-26/+7
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* [SUNGEM]: __sparc__ --> CONFIG_SPARCDavid S. Miller2007-04-261-4/+4
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* [RADEON]: Probe clocks and monitor using OF properties on sparc.David S. Miller2007-04-263-15/+17
| | | | | | Just like powerpc does. Signed-off-by: David S. Miller <davem@davemloft.net>
* [SPARC]: Use strcasecmp for OFW property name comparisons.David S. Miller2007-04-262-4/+4
| | | | | | | | 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-2617-151/+39
| | | | | | | 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-262-7/+12
| | | | | | | | 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-264-5/+5
| | | | | | | 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>
* [SPARC/64] constify of_get_property return: soundStephen Rothwell2007-04-262-3/+3
| | | | | 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: includeStephen Rothwell2007-04-262-3/+3
| | | | | 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 return: driversStephen Rothwell2007-04-2612-21/+21
| | | | | | | | The only unfortunate bit here is that the name field of struct map_info is not const, so for now we put a cast on the assignment of it. 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-2611-43/+46
| | | | | Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
OpenPOWER on IntegriCloud