summaryrefslogtreecommitdiffstats
path: root/include/asm-x86
Commit message (Collapse)AuthorAgeFilesLines
* sched: high-res preemption tickPeter Zijlstra2008-01-252-0/+7
| | | | | | | | | | | | | | | | Use HR-timers (when available) to deliver an accurate preemption tick. The regular scheduler tick that runs at 1/HZ can be too coarse when nice level are used. The fairness system will still keep the cpu utilisation 'fair' by then delaying the task that got an excessive amount of CPU time but try to minimize this by delivering preemption points spot-on. The average frequency of this extra interrupt is sched_latency / nr_latency. Which need not be higher than 1/HZ, its just that the distribution within the sched_latency period is important. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: asm-x86/msr.h: pull in linux/types.hMike Frysinger2008-01-151-0/+4
| | | | | | | | | | | | | Since the msr.h header uses types like __u32, it should pull in linux/types.h. [ mingo@elte.hu: affects user-space that includes this header. We dont actually like user-space including raw kernel headers but it's a longstanding practice and it's easy for the kernel to be nice about this. ] Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: fix asm-x86/msr.h for user-space exportMike Frysinger2008-01-011-35/+39
| | | | | | | | | | | | | | | Use __asm__ and __volatile__ in code that is exported to userspace. Wrap kernel functions with __KERNEL__ so they get scrubbed. No code changed: text data bss dec hex filename 9681036 1698924 3407872 14787832 e1a4f8 vmlinux.before 9681036 1698924 3407872 14787832 e1a4f8 vmlinux.after Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* x86: fix asm-x86/byteorder.h for userspace exportMike Frysinger2008-01-011-2/+2
| | | | | | | | | Since asm-x86/byteorder.h is exported to userspace, use __asm__ rather than asm in its code. Signed-Off-By: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* x86: also define AT_VECTOR_SIZE_ARCHJan Beulich2007-12-181-0/+7
| | | | | | | | | | | The patch introducing this left out 64-bit x86 despite it also having extra entries. this solves Xen guest troubles. Signed-off-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* x86: jprobe bugfixMasami Hiramatsu2007-12-182-2/+2
| | | | | | | | | | | | | | jprobe for x86-64 may cause kernel page fault when the jprobe_return() is called from incorrect function. - Use jprobe_saved_regs instead getting it from stack. (Especially on x86-64, it may get incorrect data, because pt_regs can not be get by using container_of(rsp)) - Change the type of stack pointer to unsigned long *. Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* x86: disable hpet on shutdownOGAWA Hirofumi2007-12-031-0/+1
| | | | | | | | | | | | | | | | If HPET was enabled by pci quirks, we use i8253 as initial clockevent because pci quirks doesn't run until pci is initialized. The above means the kernel (or something) is assuming HPET legacy replacement is disabled and can use i8253 at boot. If we used kexec, it isn't true. So, this patch disables HPET legacy replacement for kexec in machine_shutdown(). Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Acked-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* x86: fix ACPI compile for LOCAL_APIC=nThomas Gleixner2007-11-261-0/+1
| | | | | | | | | | ACPI processor idle code references local_apic_timer_c2_ok, which is not available when LOCAL_APIC is disabled. Define local_apic_timer_c2_ok as a constant, when LOCAL_APIC=n Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* ACPI: Set max_cstate to 1 for early Opterons.Alexey Starikovskiy2007-11-261-0/+27
| | | | | | | | | | | | | | AMD Opteron processors before CG revision don't like C-states > 1. This solves the long standing bugzilla #5303 and probably some more on affected machines: http://bugzilla.kernel.org/show_bug.cgi?id=5303 [ tglx@linutronix.de: reworked the patch so it does not wreck ia64 ] Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: fix reboot with no keyboard attachedTruxton Fulton2007-11-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Attempt to fix http://bugzilla.kernel.org/show_bug.cgi?id=8378 Hiroto Shibuya wrote to tell me that he has a VIA EPIA-EK10000 which suffers from the reboot problem when no keyboard is attached. My first patch works for him: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=59f4e7d572980a521b7bdba74ab71b21f5995538 But the latest patch does not work for him : http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8b93789808756bcc1e5c90c99f1b1ef52f839a51 We found that it was necessary to also set the "disable keyboard" flag in the command byte, as the first patch was doing. The second patch tries to minimally modify the command byte, but it is not enough. Please consider this simple one-line patch to help people with low end VIA motherboards reboot when no keyboard is attached. Hiroto Shibuya has verified that this works for him (as I no longer have an afflicted machine). Additional discussion: Note that original patch from Truxton DOES disable keyboard and this has been in main tree since 2.6.14, thus it must have quite a bit of air time already. http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.14.y.git;a=commit;h=59f4e7d572980a521b7bdba74ab71b21f5995538 Note that he only mention "System flag" in the description and comment, but in the code, "disable keyboard" flag is set. outb(0x14, 0x60); /* set "System flag" */ In 2.6.23, he made a change to read the current byte and then mask the flags, but along this change, he only set the "System flag" and dropped the setting of "disable keyboard" flag. http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.23.y.git;a=commit;h=8b93789808756bcc1e5c90c99f1b1ef52f839a51 outb(cmd | 0x04, 0x60); /* set "System flag" */ So my request is to restore the setting of disable keyboard flag which has been there since 2.6.14 but disappeared in 2.6.23. Cc: Lee Garrett <lee-in-berlin@web.de> Cc: "Hiroto Shibuya" <hiroto.shibuya@gmail.com> Cc: Natalie Protasevich <protasnb@gmail.com> Cc: Dmitry Torokhov <dtor@mail.ru> Cc: Ingo Molnar <mingo@elte.hu> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Aristeu Rozanski <aris@ruivo.org> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* x86: voyager use correct header file nameRandy Dunlap2007-11-171-1/+1
| | | | | | | | | | | Fix header file name for Voyager build. In file included from arch/x86/kernel/setup_32.c:61: include/asm-x86/mach-voyager/setup_arch.h:2:26: error: asm/setup_32.h: No such file or directory make[1]: *** [arch/x86/kernel/setup_32.o] Error 1 Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* x86: fix bogus memcpy in es7000_check_dsdt()Thomas Gleixner2007-11-171-3/+3
| | | | | | | | | | es7000_check_dst() contains a memcpy from 0, which probably should have been a memset. Remove it and check the retunr value from acpi_get_table_header. Noticed by: Joe Perches <joe@perches.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* oprofile: fix oops on x86 32-bitJan Blunck2007-11-141-1/+1
| | | | | | | | | | | | | | x86 32-bit isn't saving the stack pointer to pt_regs->esp when an interrupt occurs. Signed-off-by: Jan Blunck <jblunck@suse.de> Tested-by: Robert Fitzsimons <robfitz@273k.net> Cc: Andi Kleen <ak@suse.de> Cc: Ingo Molnar <mingo@elte.hu> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Philippe Elie <phil.el@wanadoo.fr> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* x86: fix taking DNA during 64bit sigreturnSiddha, Suresh B2007-11-121-0/+5
| | | | | | | | | | | | | restore sigcontext is taking a DNA exception while restoring FP context from the user stack, during the sigreturn. Appended patch fixes it by doing clts() if the app doesn't touch FP during the signal handler execution. This will stop generating a DNA, during the fxrstor in the sigreturn. This improves 64-bit lat_sig numbers by ~30% on my core2 platform. Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* voyager: use struct instead of PARAMRandy Dunlap2007-11-101-1/+3
| | | | | | | | | | | | | Use struct boot_params instead of PARAM + 0xoffsets. Fixes one of many Voyager build problems. arch/x86/kernel/setup_32.c:543: error: 'PARAM' undeclared (first use in this function) Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Cc: James Bottomley <James.Bottomley@steeleye.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* lguest: make async_hcall() staticAdrian Bunk2007-11-051-3/+0
| | | | | | | async_hcall() can become static. Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* Merge branch 'v2.6.24-rc1-lockdep' of ↵Linus Torvalds2007-11-032-0/+41
|\ | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-lockdep * 'v2.6.24-rc1-lockdep' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-lockdep: lockdep: fix a typo in the __lock_acquire comment sched: fix unconditional irq lock lockdep: fixup irq tracing
| * lockdep: fixup irq tracingPeter Zijlstra2007-10-252-0/+41
| | | | | | | | | | | | | | Ensure we fixup the IRQ state before we hit any locking code. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | x86 gart: rename symbols only used for the GART implementationJoerg Roedel2007-10-301-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | This patch renames the 4 symbols iommu_hole_init(), iommu_aperture, iommu_aperture_allowed, iommu_aperture_disabled. All these symbols are only used for the GART implementation of IOMMUs. It adds and additional gart_ prefix to them. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* | x86 gart: rename CONFIG_IOMMU to CONFIG_GART_IOMMUJoerg Roedel2007-10-302-2/+2
| | | | | | | | | | | | | | | | | | | | This patch renames the IOMMU config option to GART_IOMMU because in fact it means the GART and not general support for an IOMMU on x86. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com> Acked-by: Muli Ben-Yehuda <muli@il.ibm.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* | x86 gart: rename iommu.h to gart.hJoerg Roedel2007-10-302-2/+31
| | | | | | | | | | | | | | | | | | | | | | This patch renames the include file asm-x86/iommu.h to asm-x86/gart.h to make clear to which IOMMU implementation it belongs. The patch also adds "GART" to the Kconfig line. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com> Acked-by: Muli Ben-Yehuda <muli@il.ibm.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* | Revert "i386: export i386 smp_call_function_mask() to modules"Thomas Gleixner2007-10-271-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 6442eea937ef797d4b66733f49c82e2fdc2aca6f. The patch breaks smp_ops and needs to be reverted. The solution to allow modular build of KVM is to export smp_ops instead. Pointed-out-by: James Bottomley <jejb> tglx, so write out 100 times "voyager is a useful architecture" ... <tglx> yes, Sir Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | x86 bitops: fix code style issuesRandy Dunlap2007-10-251-26/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Coding style cleanups: - change __inline__ to inline; - drop space in "* addr" parameters; - drop space between func. name and '(' The "volatile" keywords are correct according to email from one Linus Torvalds. [Several other arches need some of this also.] Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | bitops kernel-doc: inline instead of macroRandy Dunlap2007-10-252-4/+10
| | | | | | | | | | | | | | | | | | | | | | Use duplicated inline functions for test_and_set_bit_lock() on x86 instead of #define macros, thus avoiding a bad example. This allows kernel-doc to run cleanly instead of terminating with an error: Error(linux-2.6.24-rc1//include/asm-x86/bitops_32.h:188): cannot understand prototype: 'test_and_set_bit_lock test_and_set_bit ' Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | lguest: documentation updateRusty Russell2007-10-251-8/+8
|/ | | | | | | | Went through the documentation doing typo and content fixes. This patch contains only comment and whitespace changes. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* x86: clean up setup.h and the boot codeH. Peter Anvin2007-10-231-6/+7
| | | | | | | | | | | | | Make <asm/setup.h> usable by the boot code. Clean up vestiges of the old command-line protocol from setup.h and head_32.S (it is still supported from the boot loader point of view, since it is converted to the new command-line protocol by the boot code.) Signed-off-by: H. Peter Anvin <hpa@zytor.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* x86: Save registers in saved_context during suspend and hibernationRafael J. Wysocki2007-10-231-16/+7
| | | | | | | | | | During hibernation and suspend on x86_64 save CPU registers in the saved_context structure rather than in a handful of separate variables. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* x86: merge setup_32/64.hThomas Gleixner2007-10-234-95/+60
| | | | | Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* x86: merge signal_32/64.hThomas Gleixner2007-10-234-425/+263
| | | | | Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* x86: merge required-features.hBrian Gerst2007-10-233-104/+70
| | | | Signed-off-by: Brian Gerst <bgerst@didntduck.org>
* x86: merge sigcontext_32/64.hThomas Gleixner2007-10-234-154/+137
| | | | | Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* x86: merge msr_32/64.hThomas Gleixner2007-10-234-360/+347
| | | | | Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* x86: merge mttr_32/64.hThomas Gleixner2007-10-234-281/+163
| | | | | Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* x86: merge statfs_32/64.hThomas Gleixner2007-10-234-77/+61
| | | | | Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* x86: merge stat_32/64.hThomas Gleixner2007-10-234-134/+112
| | | | | Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* x86: merge shmbuf_32/64.hThomas Gleixner2007-10-234-94/+50
| | | | | Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* x86: merge ptrace_32/64.hThomas Gleixner2007-10-234-158/+141
| | | | | Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* x86: merge msgbuf_32/64.hThomas Gleixner2007-10-234-72/+38
| | | | | Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* x86: merge elf_32/64.hThomas Gleixner2007-10-234-358/+288
| | | | | Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* x86: merge byteorder_32/64.hThomas Gleixner2007-10-234-104/+70
| | | | | Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* x86: unify div64{,_32,_64}.hChris Snook2007-10-233-56/+57
| | | | | | | | | | Unify x86 div64.h headers. Signed-off-by: Chris Snook <csnook@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* x86: unify a.out{,_32,_64}.hChris Snook2007-10-234-65/+25
| | | | | | | | | | | Unify x86 a.out_32.h and a.out_64.h [ tglx: Kbuild fixup ] Signed-off-by: Chris Snook <csnook@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* x86: add safe_smp_processor_id for x86_64Hiroshi Shimamoto2007-10-231-0/+2
| | | | | | | | | Preperatory patch to allow crash_32/64.c merging Signed-off-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* x86: add lapic_shutdown for x86_64Hiroshi Shimamoto2007-10-231-0/+1
| | | | | | | | | Preperatory patch to allow crash_32/64.c merging Signed-off-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* x86: merge mmu{,_32,_64}.hChris Snook2007-10-233-43/+22
| | | | | | | | | Merge mmu_32.h and mmu_64.h into mmu.h. Signed-off-by: Chris Snook <csnook@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* x86: lock bitopsNick Piggin2007-10-232-2/+83
| | | | | | | | | | | | | | | | | I missed an obvious one! x86 CPUs are defined not to reorder stores past earlier loads, so there is no hardware memory barrier required to implement a release-consistent store (all stores are, by definition). So ditch the generic lock bitops, and implement optimised versions for x86, which removes the mfence from __clear_bit_unlock (which is already a useful primitive for SLUB). Signed-off-by: Nick Piggin <npiggin@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* Remove old lguest I/O infrrasructure.Rusty Russell2007-10-231-2/+1
| | | | | | | | | | | This patch gets rid of the old lguest host I/O infrastructure and replaces it with a single hypercall "LHCALL_NOTIFY" which takes an address. The main change is the removal of io.c: that mainly did inter-guest I/O, which virtio doesn't yet support. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* Boot with virtual == physical to get closer to native Linux.Rusty Russell2007-10-231-2/+5
| | | | | | | | | | | | | | | | | | | | 1) This allows us to get alot closer to booting bzImages. 2) It means we don't have to know page_offset. 3) The Guest needs to modify the boot pagetables to create the PAGE_OFFSET mapping before jumping to C code. 4) guest_pa() walks the page tables rather than using page_offset. 5) We don't use page_offset to figure out whether to emulate: it was always kinda quesationable, and won't work for instructions done before remapping (bzImage unpacking in particular). 6) We still want the kernel address for tlb flushing: have the initial hypercall give us that, too. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* Make hypercalls arch-independent.Jes Sorensen2007-10-231-3/+5
| | | | | | | | | | | | | | Clean up the hypercall code to make the code in hypercalls.c architecture independent. First process the common hypercalls and then call lguest_arch_do_hcall() if the call hasn't been handled. Rename struct hcall_ring to hcall_args. This patch requires the previous patch which reorganize the layout of struct lguest_regs on i386 so they match the layout of struct hcall_args. Signed-off-by: Jes Sorensen <jes@sgi.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* Reorder guest saved regs to match hyperall orderJes Sorensen2007-10-231-2/+1
| | | | | | | | | | | | | Move eax next to ebx/ecx/edx in struct lguest_regs on i386, so they will be located together and allow it to map directly to a struct hcall_ring entry (which will be renamed struct hcall_args as in a subsequent patch). This is in preparation for making the code hcall code architecture independent. Signed-off-by: Jes Sorensen <jes@sgi.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
OpenPOWER on IntegriCloud