summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* sparc32: Delete asm/smpprim.hDavid S. Miller2012-05-201-54/+0
| | | | | | Completely unused. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: Remove unused empty_bad_page{,_table} declarations.David S. Miller2012-05-201-2/+0
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: Kill boot_cpu_id4David S. Miller2012-05-203-6/+1
| | | | | | It is written, but never actually read. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: Move GET_PROCESSOR*_ID() out of asm/asmmacro.hDavid S. Miller2012-05-202-10/+5
| | | | | | | | | | | GET_PROCESSOR4D_ID is completely unused, so delete it. Move GET_PROCESSOR4M_ID to the sun4m specific trap code which uses it. We now no longer need to include asm/asi.h Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: Remove completely unused code from asm/cache.hDavid S. Miller2012-05-201-114/+0
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: Add ucmpdi2.o to obj-y instead of lib-y.David S. Miller2012-05-201-2/+2
| | | | | | | Otherwise if no references exist in the static kernel image, we won't export the symbol properly to modules. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: add ucmpdi2Sam Ravnborg2012-05-202-1/+20
| | | | | | | | | | | | | | Based on copy from microblaze add ucmpdi2 implementation. This fixes build of niu driver which failed with: drivers/built-in.o: In function `niu_get_nfc': niu.c:(.text+0x91494): undefined reference to `__ucmpdi2' This driver will never be used on a sparc32 system, but patch added to fix build breakage with all*config builds. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: introduce arch/sparc/KbuildSam Ravnborg2012-05-152-2/+9
| | | | | | | | | | | This allows us to do: make arch/sparc/ to build the core part of the sparc kernel. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: remove obsolete documentationSam Ravnborg2012-05-151-46/+0
| | | | | | | When we killed btfixup this readme no longer has any value. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: clean up MakefileSam Ravnborg2012-05-151-21/+10
| | | | | | | | | | - delete unused variables - align assignments - drop stale comments - kill use of "\" for line continuation Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: delete muldiv.o from MakefileSam Ravnborg2012-05-151-1/+0
| | | | | | | The source file is no more.. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: Kill off software 32-bit multiply/divide routines.David S. Miller2012-05-1517-2129/+24
| | | | | | | | | | | | | For the explicit calls to .udiv/.umul in assembler, I made a mechanical (read as: safe) transformation. I didn't attempt to make any simplifications. In particular, __ndelay and __udelay can be simplified significantly. Some of the %y reads are unnecessary and these routines have no need any longer for allocating a register window, they can be leaf functions. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: Build kernel with -mcpu=v8David S. Miller2012-05-151-1/+1
| | | | | | | With Cypress gone we can generate real hardware integer multiply and divide instructions at will. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: cleanup mm/fault_32.cSam Ravnborg2012-05-152-52/+44
| | | | | | | | - remove unused variables - fix coding style issues that hurts my eyes Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: Remove cypress cpu support.David S. Miller2012-05-156-449/+5
| | | | | | | | | It's the one aberration in v8, the only cpu that didn't actually have hardware multiply and divide instructions. Signed-off-by: David S. Miller <davem@davemloft.net> Acked-by: Sam Ravnborg <sam@ravnborg.org>
* sparc64: Remove pointless assignment in floppy support.David S. Miller2012-05-151-1/+0
| | | | | Reported-by: Josip Rodin <joy@entuzijast.net> Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: Kill unused hard_smp{4m,4d,leon}_processor_id() inlined.David S. Miller2012-05-141-29/+0
| | | | | Reported-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: drop build time btfixup patchingSam Ravnborg2012-05-143-449/+10
| | | | | Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: remove runtime btfix supportSam Ravnborg2012-05-1420-547/+1
| | | | | | | | | - remove all uses of btfixup header - remove the btfixup header - remove the btfixup code Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: remove remaining users of btfixupSam Ravnborg2012-05-148-49/+23
| | | | | | | | Use sparc_config to hold the last two function pointers. There was no point generating dedicated _ops structures only for these. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: move smp ipi to method opsSam Ravnborg2012-05-1410-105/+107
| | | | | | | | | | | I ended up renaming set_cpu_int to send_ipi to be consistent all way around. send_ipi was moved to the *_smp.c files so we could call the relevant method direct, without any _ops indirection. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: Implement hard_smp_processor_id() via instruction patching.David S. Miller2012-05-1410-175/+99
| | | | | | | | | | | This is the last non-trivial user of btfixup. Like sparc64, use a special patch section to resolve the various implementations of how to read the current CPU's ID when we don't have current_thread_info()->cpu necessarily available. Signed-off-by: David S. Miller <davem@davemloft.net> Tested-by: Sam Ravnborg <sam@ravnborg.org>
* sparc32: Move cache and TLB flushes over to method ops.David S. Miller2012-05-1413-478/+466
| | | | | | | | | | | | | | | | | This eliminated most of the remaining users of btfixup. There are some complications because of the special cases we have for sun4d, leon, and some flavors of viking. It was found that there are no cases where a flush_page_for_dma method was not hooked up to something, so the "noflush" iommu methods were removed. Add some documentation to the viking_sun4d_smp_ops to describe exactly the hardware bug which causes us to need special TLB flushing on sun4d. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: Remove unused declarations in srmmu.cDavid S. Miller2012-05-141-6/+0
| | | | | | Uses of these went away with the sun4c removal. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: Convert mmu_* interfaces from btfixup to method ops.David S. Miller2012-05-135-44/+79
| | | | | | | | | | | | This set of changes displays one major danger of btfixup, interface signatures are not always type checked fully. As seen here the iounit variant of the map_dma_area routine had an incorrect type for one of it's arguments. It turns out to be harmless in this case, but just imagine trying to debug something involving this kind of problem. No thanks. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: Kill mmu_{un,}lockarea().David S. Miller2012-05-137-47/+3
| | | | | | | | | | | | These were used on sun4c during floppy data transfers since on that chip we had to lock the cpu mappings into the TLB because we cannot take a TLB miss during the assembler floppy interrupt handler that does the data transfer. That is no longer necessary since we've removed sun4c support, thus this stuff can disappear completely. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: Un-btfixup update_mmu_cache().David S. Miller2012-05-132-43/+1
| | | | | | | | | | | The magic Swift SRMMU code in question has not been enabled for something on the order of a decade, and it as well as it's comment is there in the history in case we ever need it again. Therefore all implementations are NOPs and we can kill this stuff off. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: Kill btfixup for xchg()'s 'swap' instruction.David S. Miller2012-05-136-61/+2
| | | | | | | | | | We always have this instruction available, so no need to use btfixup for it any more. This also eradicates the whole of atomic_32.S and thus the __atomic_begin and __atomic_end symbols completely. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: drop unused clear_cpu_intSam Ravnborg2012-05-134-21/+0
| | | | | Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: drop unused set_irq_udtSam Ravnborg2012-05-134-18/+0
| | | | | Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: drop btfixup in page_32.hSam Ravnborg2012-05-132-5/+1
| | | | | Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: drop unused prototype from timer_32.hSam Ravnborg2012-05-131-5/+0
| | | | | Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: drop btfixup in mmu_context_32.hSam Ravnborg2012-05-132-5/+2
| | | | | Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: drop btfixup in pgtable_32.hSam Ravnborg2012-05-133-89/+58
| | | | | | | Only one function left using btfixup. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: drop btfixup in pgalloc_32.hSam Ravnborg2012-05-132-81/+63
| | | | | Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: Pass -mcpu=v7 explicitly to gcc.David S. Miller2012-05-131-1/+1
| | | | | | We should be agnostic to what gcc happens to be generating by default. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: Un-btfixup more PTE constants and PTE ops.David S. Miller2012-05-122-38/+17
| | | | | | | pte_{filei,wrprotecti,mkcleani,mkoldi} pte_{mkwrite,mkdirty,mkyoung} Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: Un-btfixup pte_{write,dirty,young}iDavid S. Miller2012-05-122-13/+3
| | | | | | | | And we can certainly get rid of the const function attributes, there is no way that's needed any longer and no other arch uses this kind of annotation here. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: drop unused code in process_32Sam Ravnborg2012-05-121-82/+0
| | | | | | | | It is commented out using #ifdef 0 / #endif, and has been so for a long time. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: Un-btfixup set_pte, pte_present, mk_pte{_phys,_io}().David S. Miller2012-05-122-52/+33
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: drop loadmmuSam Ravnborg2012-05-123-40/+6
| | | | | Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: Un-btfixup pmd_{bad,present}().David S. Miller2012-05-122-14/+9
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: Un-btfixup pgd_{none,bad,present}.David S. Miller2012-05-122-22/+16
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: Un-btfixup PAGE_{NONE,COPY,READONLY,SHARED,KERNEL}.David S. Miller2012-05-123-71/+23
| | | | | | | | | That lets us also get rid of the run-time initialization of protection_map[] and all the ugly module workarounds for PAGE_KERNEL and PAGE_SHARED to deal with the fact that we can't do btfixups for modular code. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: Un-btfixup pmd_page and pte_pfn.David S. Miller2012-05-122-35/+25
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: Un-btfixup {pte,pmd,pgd}_clear().David S. Miller2012-05-123-49/+39
| | | | | | | | | | | | | | | | Also we can remove BTFIXUPCALL_SWAPO0G0 as that is no longer used. This was rather amusing, we were setting the btfixup vectors based upon cpu type but all to the same exact generic srmmu routines. Furthermore, we were inconsistently marking the fixup as either BTFIXUPCALL_SWAPO0G0 or BTFIXUPCALL_NORM. What a mess, glad we could untangle this stuff. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: Un-btfixup PGDIR_{SHIFT,SIZE,MASK} {USER_,}PTRS_PER_{PGD,PMD}David S. Miller2012-05-122-23/+6
| | | | | | Only one set of values exist, the SRMMU ones. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: drop unused type/externSam Ravnborg2012-05-122-14/+0
| | | | | Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: drop btfixup for check_pgt_cacheSam Ravnborg2012-05-124-27/+1
| | | | | | | | | It is a noop for srmmu - so use a define as sparc64 does. And drop all sparc callers - no need to confuse our-self be calling a noop function. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: drop btfixup for switch_mmSam Ravnborg2012-05-122-6/+4
| | | | | | | | | This revealed that the implementation of switch_mm had a bogus extra argument. No harm as said argument was never used - but confusing. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>