aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2006-09-26[PATCH] fix is_at_popf() for compat tasksChuck Ebbert
When testing for the REX instruction prefix, first check for 32-bit mode because in compat mode the REX prefix is an increment instruction. Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com> Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] Don't use lock section for mutexes and semaphoresAndi Kleen
Lock sections cannot be handled by the dwarf2 unwinder. Disadvantage is a taken branch in the hot path. Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] i386: Remove lock section support in semaphore.hAndi Kleen
Lock sections don't work the new dwarf2 unwinder This generates slightly smaller code. It adds one more taken jump to the fast path. Cc: jbeulich@novell.com Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] i386: Remove lock section support in rwsem.hAndi Kleen
Lock sections don't work the new dwarf2 unwinder This generates slightly smaller code. It adds one more taken jump to the fast path. Also move the trampolines into semaphore.S and add proper CFI annotations. Cc: jbeulich@novell.com Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] i386: Remove lock section support in mutex.hAndi Kleen
Lock sections don't work the new dwarf2 unwinder This generates slightly smaller code. It adds one more taken jump to the fast path. Cc: jbeulich@novell.com Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] Calgary IOMMU: save a bit of space in bus_infoMuli Ben-Yehuda
Make translation_disabled a uchar rather than an int Signed-off-by: Muli Ben-Yehuda <muli@il.ibm.com> Signed-off-by: Jon Mason <jdmason@us.ibm.com> Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] Calgary IOMMU: calgary_init_one_nontraslated() can return voidMuli Ben-Yehuda
Signed-off-by: Muli Ben-Yehuda <muli@il.ibm.com> Signed-off-by: Jon Mason <jdmason@us.ibm.com> Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] Calgary IOMMU: fix reference counting of Calgary PCI devicesMuli Ben-Yehuda
The pci_get_device() API decrements the reference count on the 'from' parameter when it continues searching. Therefore, take a ref count on Calgary bus when we initialize them in either translated or non-translated mode. Signed-off-by: Muli Ben-Yehuda <muli@il.ibm.com> Signed-off-by: Jon Mason <jdmason@us.ibm.com> Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] Calgary IOMMU: fix error path memleak in calgary_free_tarMuli Ben-Yehuda
We were freeing the iommu_table and leaking the bitmap pages. Also rename it to calgary_free_bus, which is more accurate. Signed-off-by: Muli Ben-Yehuda <muli@il.ibm.com> Signed-off-by: Jon Mason <jdmason@us.ibm.com> Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] Calgary IOMMU: break out of pci_find_device_reverse if dev not foundMuli Ben-Yehuda
Signed-off-by: Muli Ben-Yehuda <muli@il.ibm.com> Signed-off-by: Jon Mason <jdmason@us.ibm.com> Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] Calgary IOMMU: consolidate per bus data structuresMuli Ben-Yehuda
Move the tce_table_kva array, disabled bitmap and bus_to_phb array into a new per bus 'struct calgary_bus_info'. Also slightly reorganize build_tce_table and tce_table_setparms to avoid exporting bus_info to tce.c. Signed-off-by: Muli Ben-Yehuda <muli@il.ibm.com> Signed-off-by: Jon Mason <jdmason@us.ibm.com> Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] Calgary IOMMU: rearrange 'struct iommu_table' membersMuli Ben-Yehuda
Rearrange struct members loosely based on size for improved alignment and to save a few bytes. Signed-off-by: Muli Ben-Yehuda <muli@il.ibm.com> Signed-off-by: Jon Mason <jdmason@us.ibm.com> Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] Add stack documentation document from Keith OwensAndi Kleen
Describes the stack organization on x86-64. I changed it a bit and removed some obsolete information and the questions. Cc: kaos@sgi.com Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] i386: initialize end-of-memory variables as early as possibleJan Beulich
Move initialization of all memory end variables to as early as possible, so that dependent code doesn't need to check whether these variables have already been set. Change the range check in kunmap_atomic to actually make use of this so that the no-mapping-estabished path (under CONFIG_DEBUG_HIGHMEM) gets used only when the address is inside the lowmem area (and BUG() otherwise). Signed-off-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] remove int_delivery_destJan Beulich
The genapic field and the accessor macro weren't used anywhere. Signed-off-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] initialize end of memory variables as early as possibleJan Beulich
While an earlier patch already did a small step into that direction, this patch moves initialization of all memory end variables to as early as possible, so that dependent code doesn't need to check whether these variables have already been set. Also, remove a misleading (perhaps just outdated) comment, and make static a variable only used in a single file. Signed-off-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] Remove obsolete CVS $Id$ from assembler files in arch/x86_64/kernel/*Andi Kleen
CVS hasn't been used for a long time for them. Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] x86: Detect CFI support in the assembler at runtimeAndi Kleen
... instead of using a CONFIG option. The config option still controls if the resulting executable actually has unwind information. This is useful to prevent compilation errors when users select CONFIG_STACK_UNWIND on old binutils and also allows to use CFI in the future for non kernel debugging applications. Cc: jbeulich@novell.com Cc: sam@ravnborg.org Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] Use BUILD_BUG_ON in apic.c build sanity checkingAndi Kleen
Makes code a little shorter. Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] i386: Clean up code style in mpparse.c ACPI codeAndi Kleen
Remove some unlinuxy ways to write function parameter definitions. Remove some stray "return;"s No functional change. Cc: len.brown@intel.com Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] Fix up some non linuxy style in ACPI functions in mpparse.cAndi Kleen
No functional changes. Cc: len.brown@intel.com Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] Remove some unneeded ACPI externs in mpparse.cAndi Kleen
They are not used in this file so remove them. i386 didn't have them either. Cc: len.brown@intel.com Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] Remove useless wrapper in mpparse.c codeAndi Kleen
It used to contain support code for NUMAQ, but that is long gone already on 64bit. Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] Replace mp bus array with bitmap for bus not pciAndi Kleen
Since we only support PCI and ISA legacy busses now there is no need to have an full array with checking. Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] Move early chipset quirks out to new fileAndi Kleen
They did not really belong into io_apic.c. Move them into a new file and clean it up a bit. Also remove outdated ATI quirk that was obsolete, Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] Remove MPS table APIC renumberingAndi Kleen
The MPS table specification says that the operating system should renumber the IO-APICs following the table as needed. However in ACPI this is not allowed or neeeded and all x86-64 systems are ACPI compliant. The code was already disabled on some systems because it caused problems there. Remove it completely now. CC: mdomsch@dell.com Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] x86: AUX_DEVICE_INFO is one byte long, use 'movb'Diego Calleja
Bugzilla #6552 says: "In arch/i386/boot/setup.S, movw is used instead of movb for PS/2 mouse information, although it is unsigned char. This does not harm, because the jmp instruction overwritten by movw is used before executing movw, and never be used again" I've no idea if this is a real bug or how it gets fixed, so I'm submitting it for review instead of letting it die of boredom in bugzilla. Aditionally to i386, I've changed x86-64, which mirrors the same code. Credits to Yoshinori K. Okuji, who found the problem and suggested a fix. Signed-off-by: Diego Calleja <diegocg@gmail.com> Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] i386: Factor out common io apic routing entry accessAndi Kleen
The IO APIC code had lots of duplicated code to read/write 64bit routing entries into the IO-APIC. Factor this out int common read/write functions In a few cases the IO APIC lock is taken more often now, but this isn't a problem because it's all initialization/shutdown only slow path code. Similar to earlier x86-64 patch. Includes a fix by Jiri Slaby for a mistake that broke resume Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] Factor out common io apic routing entry accessAndi Kleen
The IO APIC code had lots of duplicated code to read/write 64bit routing entries into the IO-APIC. Factor this out int common read/write functions In a few cases the IO APIC lock is taken more often now, but this isn't a problem because it's all initialization/shutdown only slow path code. Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] i386/x86-64: Remove obsolete sanity check in mptable parsingAndi Kleen
It apparently has never triggered in many years. Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] Remove obsolete PIC modeAndi Kleen
PIC mode is an outdated way to drive the APICs that was used on some early MP boards. It is not supported in the ACPI model. It is unlikely to be ever configured by any x86-64 system Remove it thus. Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] Remove leftover MCE/EISA supportAndi Kleen
No 64bit EISA or Microchannel systems ever. Remove the left over code in the IO-APIC driver and the mptable parser Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] Remove pirq overwrite supportAndi Kleen
This was an old workaround for broken MP-BIOS. The user could specify overwrites on the command line. I've never seen it being used for anything on 64bit. So get rid of it for now. Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] Add some comments to entry.SAndi Kleen
And remove some old obsolete ones. Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] i386: Minor fixes & cleanup to tlb flushAndi Kleen
(based on x86-64 changes) - Add a proper memory clobber to invlpg - Remove an unused extern Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] Clean up and minor fixes to TLB flushAndi Kleen
- Convert CR* accesses to dedicated inline functions and rewrite the rest as C inlines - Don't do a double flush for global flushes (pointed out by Zach Amsden) This was a bug workaround for old CPUs that don't do 64bit and is obsolete. - Add a proper memory clobber to invlpg - Remove an unused extern Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] Remove old "focus disabled" chipset errata workaroundAndi Kleen
The new systems already use focus disabled and the comment was completely outdated. Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] Remove apic mismatch counterAndi Kleen
Nobody has been setting the mismatch counter and the ifdef was never set so remove it. Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] Remove all ifdefs for local/io apicAndi Kleen
IO-APIC or local APIC can only be disabled at runtime anyways and Kconfig has forced these options on for a long time now. The Kconfigs are kept only now for the benefit of the shared acpi boot.c code. Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] Add some comments what tce.c actually doesAndi Kleen
Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] Remove leftover CVS Id in thunk.SAndi Kleen
And move the comment to a proper place. Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] i386: Redo semaphore and rwlock assembly helpersAndi Kleen
- Move them to a pure assembly file. Previously they were in a C file that only consisted of inline assembly. Doing it in pure assembler is much nicer. - Add a frame.i include with FRAME/ENDFRAME macros to easily add frame pointers to assembly functions - Add dwarf2 annotation to them so that the new dwarf2 unwinder doesn't get stuck on them - Random cleanups Includes feedback from Jan Beulich and a UML build fix from Andrew Morton. Cc: jbeulich@novell.com Cc: jdike@addtoit.com Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] i386: add alternative-asm.h to allow LOCK_PREFIX replacement in .S filesAndi Kleen
LOCK_PREFIX is replaced by nops on UP systems, so it has to be a special macro. Previously this was only possible from C. Allow it for pure assembly files too. Similar to earlier x86-64 patch. Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] Add proper alignment to ENTRYAndi Kleen
Previously it didn't align. Use the same one as the C compiler in blended mode, which is good for K8 and Core2 and doesn't hurt on P4. Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] i386: Remove const case for rwlocksAndi Kleen
rwlocks are now out of line, so it near never triggers. Also it was incompatible with the new dwarf2 unwinder because it had unannotiatable push/pops. Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] Clean up read write lock assemblyAndi Kleen
- Move the slow path fallbacks to their own assembly files This makes them much easier to read and is needed for the next change. - Add CFI annotations for unwinding (XXX need review) - Remove constant case which can never happen with out of line spinlocks - Use patchable LOCK prefixes - Don't use lock sections anymore for inline code because they can't be expressed by the unwinder (this adds one taken jump to the lock fast path) Cc: jbeulich@novell.com Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] Support patchable lock prefix for pure assembly filesAndi Kleen
Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] Document backtracer selection optionsAndi Kleen
Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] Simplify profile_pc on x86-64Andi Kleen
Use knowledge about EFLAGS layout (bits 22:63 are always 0) to distingush EFLAGS word and kernel address in the spin lock stack frame. Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26[PATCH] i386: Account spinlocks to the caller during profiling for !FP kernelsAndi Kleen
This ports the algorithm from x86-64 (with improvements) to i386. Previously this only worked for frame pointer enabled kernels. But spinlocks have a very simple stack frame that can be manually analyzed. Do this. Signed-off-by: Andi Kleen <ak@suse.de>