- 20 8月, 2010 1 次提交
-
-
由 Borislav Petkov 提交于
When testing cpu hotplug code on 32-bit we kept hitting the "CPU%d: Stuck ??" message due to multiple cores concurrently accessing the cpu_callin_mask, among others. Since these codepaths are not protected from concurrent access due to the fact that there's no sane reason for making an already complex code unnecessarily more complex - we hit the issue only when insanely switching cores off- and online - serialize hotplugging cores on the sysfs level and be done with it. [ v2.1: fix !HOTPLUG_CPU build ] Cc: <stable@kernel.org> Signed-off-by: NBorislav Petkov <borislav.petkov@amd.com> LKML-Reference: <20100819181029.GC17171@aftab> Signed-off-by: NH. Peter Anvin <hpa@linux.intel.com>
-
- 19 8月, 2010 3 次提交
-
-
由 H. Peter Anvin 提交于
Fix dummy inline stubs for trampoline-related functions when no trampolines exist (until we get rid of the no-trampoline case entirely.) Signed-off-by: NH. Peter Anvin <hpa@zytor.com> Cc: Joerg Roedel <joerg.roedel@amd.com> Cc: Borislav Petkov <borislav.petkov@amd.com> LKML-Reference: <4C6C294D.3030404@zytor.com>
-
由 Joerg Roedel 提交于
This patch fixes machine crashes which occur when heavily exercising the CPU hotplug codepaths on a 32-bit kernel. These crashes are caused by AMD Erratum 383 and result in a fatal machine check exception. Here's the scenario: 1. On 32-bit, the swapper_pg_dir page table is used as the initial page table for booting a secondary CPU. 2. To make this work, swapper_pg_dir needs a direct mapping of physical memory in it (the low mappings). By adding those low, large page (2M) mappings (PAE kernel), we create the necessary conditions for Erratum 383 to occur. 3. Other CPUs which do not participate in the off- and onlining game may use swapper_pg_dir while the low mappings are present (when leave_mm is called). For all steps below, the CPU referred to is a CPU that is using swapper_pg_dir, and not the CPU which is being onlined. 4. The presence of the low mappings in swapper_pg_dir can result in TLB entries for addresses below __PAGE_OFFSET to be established speculatively. These TLB entries are marked global and large. 5. When the CPU with such TLB entry switches to another page table, this TLB entry remains because it is global. 6. The process then generates an access to an address covered by the above TLB entry but there is a permission mismatch - the TLB entry covers a large global page not accessible to userspace. 7. Due to this permission mismatch a new 4kb, user TLB entry gets established. Further, Erratum 383 provides for a small window of time where both TLB entries are present. This results in an uncorrectable machine check exception signalling a TLB multimatch which panics the machine. There are two ways to fix this issue: 1. Always do a global TLB flush when a new cr3 is loaded and the old page table was swapper_pg_dir. I consider this a hack hard to understand and with performance implications 2. Do not use swapper_pg_dir to boot secondary CPUs like 64-bit does. This patch implements solution 2. It introduces a trampoline_pg_dir which has the same layout as swapper_pg_dir with low_mappings. This page table is used as the initial page table of the booting CPU. Later in the bringup process, it switches to swapper_pg_dir and does a global TLB flush. This fixes the crashes in our test cases. -v2: switch to swapper_pg_dir right after entering start_secondary() so that we are able to access percpu data which might not be mapped in the trampoline page table. Signed-off-by: NJoerg Roedel <joerg.roedel@amd.com> LKML-Reference: <20100816123833.GB28147@aftab> Signed-off-by: NBorislav Petkov <borislav.petkov@amd.com> Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
-
由 Hans Rosenfeld 提交于
A bug in the family-model-stepping matching code caused the presence of errata to go undetected when OSVW was not used. This causes hangs on some K8 systems because the E400 workaround is not enabled. Signed-off-by: NHans Rosenfeld <hans.rosenfeld@amd.com> LKML-Reference: <1282141190-930137-1-git-send-email-hans.rosenfeld@amd.com> Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
-
- 16 8月, 2010 2 次提交
-
-
由 Chris Metcalf 提交于
With this change, the arch/tile Makefile will only check for a valid combination of CROSS_COMPILE vs "uname -m" for a few common targets that are typically the ones we get wrong (vmlinux, all, and modules). The change handles the case of an empty "make" goal like "make all". Signed-off-by: NChris Metcalf <cmetcalf@tilera.com> Reviewed-by: NSam Ravnborg <sam@ravnborg.org>
-
由 Chris Metcalf 提交于
This fixes a failure in "make headers_check" for tile. I hadn't realized this file was exported to userspace by default. Signed-off-by: NChris Metcalf <cmetcalf@tilera.com>
-
- 15 8月, 2010 3 次提交
-
-
由 Chris Metcalf 提交于
See commit a6eb9fe1. Signed-off-by: NChris Metcalf <cmetcalf@tilera.com> Acked-by: NFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
-
由 Sam Ravnborg 提交于
Use the defconfig files generated by "make savedefconfig" for remaining defconfig files. Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
-
由 Sam Ravnborg 提交于
unifdef-y and header-y have same semantic, so drop unifdef-y Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
-
- 14 8月, 2010 17 次提交
-
-
由 Linus Walleij 提交于
This PL008 among all other variables named PL080 doesn't seem right. Fix it. Also add some missing defined that I use in the new PL08x driver. Acked-by: NBen Dooks <ben-linux@fluff.org> Signed-off-by: NLinus Walleij <linus.walleij@stericsson.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Kukjin Kim 提交于
This patch fixes on following build warning. warning: (PLAT_S5P && (ARCH_S5P6440 || ARCH_S5P6442 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_S5PV310) || ARCH_S3C64XX && <choice>) selects PLAT_SAMSUNG which has unmet direct dependencies (ARCH_S3C2410 || ARCH_S3C24A0 || ARCH_S3C64XX) Signed-off-by: NKukjin Kim <kgene.kim@samsung.com> Cc: Ben Dooks <ben-linux@fluff.org> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Ben Dooks 提交于
For situations where double buffering is needed (such as the current Android) make the screen virtual y size twice the LCD size so that there is space for a second screen that can be switched to. Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Ben Dooks 提交于
Change the area available for consitent DMA allocations from the default to 8MiB to allow drivers such as the framebuffer to get more memory (for situations where larger virtual screen resolutions are needed). Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Maurus Cuelenaere 提交于
This adds the I²C board information for the WM8987 used in the SmartQ as audio codec and adds the I²C/I²S platform drivers. Signed-off-by: NMaurus Cuelenaere <mcuelenaere@gmail.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Patrick Georgi 提交于
The following change makes the framebuffer work on SmartQ5. There are still some problems with ADC, so this patch alone won't make the device run (or even give a working fb), but it's one issue less to think about. Signed-off-by: NPatrick Georgi <patrick@georgi-clan.de> Signed-off-by: NMaurus Cuelenaere <mcuelenaere@gmail.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Maurus Cuelenaere 提交于
This patch changes the platform data definitions of the wifi and iNAND chip on the SmartQ 5 and 7 to indicate that they don't have a CD line available and are thus hard-wired to the SDHCI data lines. Signed-off-by: NMaurus Cuelenaere <mcuelenaere@gmail.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Maurus Cuelenaere 提交于
This shares the common LCD control platform definition used in the SmartQ 5 and 7. This also corrects it as a GPIO bitbanged SPI device instead of an I²C one, which was wrong. Signed-off-by: NMaurus Cuelenaere <mcuelenaere@gmail.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Darius Augulis 提交于
Register SHDCI devices Signed-off-by: NDarius Augulis <augulis.darius@gmail.com> [ben-linux@fluff.org: rewrite header[ Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Darius Augulis 提交于
This patch is based on "[PATCH v2] Support for Real6410" Signed-off-by: NDarius Augulis <augulis.darius@gmail.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Darius Augulis 提交于
Add support for CoreWind Real6410 board, based on Samsung s3c6410 processor. Signed-off-by: NDarius Augulis <augulis.darius@gmail.com> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Tony Luck 提交于
Three new syscalls for 2.6.36: prlimit64, fanotify_init and fanotify_mark. Wire up the ia64 syscall table for them. Signed-off-by: NTony Luck <tony.luck@intel.com>
-
由 Chris Metcalf 提交于
See commit 1527bc8b. Signed-off-by: NChris Metcalf <cmetcalf@tilera.com>
-
由 David Howells 提交于
Mark arguments to certain system calls as being const where they should be but aren't. The list includes: (*) The filename arguments of various stat syscalls, execve(), various utimes syscalls and some mount syscalls. (*) The filename arguments of some syscall helpers relating to the above. (*) The buffer argument of various write syscalls. Signed-off-by: NDavid Howells <dhowells@redhat.com> Acked-by: NDavid S. Miller <davem@davemloft.net> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
由 Tony Luck 提交于
These have been broken (returning "int") since the dawn of time. But there were no users that needed the whole value until commit 424acaae rwsem: wake queued readers when writer blocks on active read lock made this change: - (rwsem_atomic_update(0, sem) & RWSEM_ACTIVE_MASK)) - /* Someone grabbed the sem already */ + rwsem_atomic_update(0, sem) < RWSEM_WAITING_BIAS) + /* Someone grabbed the sem for write already */ RWSEM_ACTIVE_MASK is 0xffffffffL, so the old code only looked at the low order 32-bits. The new code needs to see all 64 bits. Signed-off-by: NTony Luck <tony.luck@intel.com>
-
由 Chris Metcalf 提交于
Until now, the tile architecture ABI for syscall return has just been that r0 holds the return value, and an error is only signalled like it is for kernel code, with a negative small number. However, this means that in multiple places in userspace we end up writing the same three-cycle idiom that tests for a small negative number for error. It seems cleaner to instead move that code into the kernel, and set r1 to hold zero on success or errno on failure; previously, r1 was just zeroed on return from the kernel (to avoid leaking kernel state). This way a single conditional branch after the syscall is sufficient to test for the failure case. The number of cycles taken is the same, but the error-checking code is in just one place, so total code size is smaller, and random userspace syscall code is easier to understand. Signed-off-by: NChris Metcalf <cmetcalf@tilera.com>
-
由 Linus Torvalds 提交于
It's wrong for several reasons, but the most direct one is that the fault may be for the stack accesses to set up a previous SIGBUS. When we have a kernel exception, the kernel exception handler does all the fixups, not some user-level signal handler. Even apart from the nested SIGBUS issue, it's also wrong to give out kernel fault addresses in the signal handler info block, or to send a SIGBUS when a system call already returns EFAULT. Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 13 8月, 2010 14 次提交
-
-
由 Namhyung Kim 提交于
acpi_perf_data is a percpu pointer but was missing __percpu markup. Add it. Signed-off-by: NNamhyung Kim <namhyung@gmail.com> Acked-by: NTejun Heo <tj@kernel.org> Signed-off-by: NDave Jones <davej@redhat.com>
-
由 Chris Metcalf 提交于
This change rolls up random cleanups not representing any actual bugs. - Remove a stale CONFIG_ value from the default tile_defconfig - Remove unused tns_atomic_xxx() family of methods from <asm/atomic.h> - Optimize get_order() using Tile's "clz" instruction - Fix a bad hypervisor upcall name (not currently used in Linux anyway) - Use __copy_in_user_inatomic() name for consistency, and export it - Export some additional hypervisor driver I/O upcalls and some homecache calls - Remove the obfuscating MEMCPY_TEST_WH64 support code - Other stray comment cleanups, #if 0 removal, etc. Signed-off-by: NChris Metcalf <cmetcalf@tilera.com>
-
由 Chris Metcalf 提交于
This functionality was stubbed out until recently. Now we support our normal backtracing API on TILE-Gx as well as on TILE64/TILEPro. This change includes a tweak to the instruction encoding caused by adding addxli for compat mode. Signed-off-by: NChris Metcalf <cmetcalf@tilera.com>
-
由 Chris Metcalf 提交于
First, the siginfo preamble wasn't quite right; we need to indicate that we are padding up to 4 ints of preamble for 64-bit code, and then for compat mode we need to pad differently, using only 3 ints. Second, the C ABI requires a save area of two registers, not two pointers, since in compat mode we have 64-bit registers all of which we need to save, even though we only have 32-bit VAs. Signed-off-by: NChris Metcalf <cmetcalf@tilera.com>
-
由 Chris Metcalf 提交于
We were using the same 5-sec minsec for the clocksource and sched_clock that we were using for the clock_event_device. For the clock_event_device that's exactly right since it has a short maximum countdown time. But for sched_clock we want to avoid wraparound when converting from ticks to nsec over a much longer window, so we force a shift of 10. And for clocksource it seems dodgy to use a 5-sec minsec as well, so we copy some other platforms and force a shift of 22. Signed-off-by: NChris Metcalf <cmetcalf@tilera.com>
-
由 Chris Metcalf 提交于
Signed-off-by: NChris Metcalf <cmetcalf@tilera.com>
-
由 Andrea Gelmini 提交于
Signed-off-by: NAndrea Gelmini <andrea.gelmini@gelma.net> Signed-off-by: NChris Metcalf <cmetcalf@tilera.com>
-
由 Andrea Gelmini 提交于
Signed-off-by: NAndrea Gelmini <andrea.gelmini@gelma.net> Signed-off-by: NChris Metcalf <cmetcalf@tilera.com>
-
由 Heiko Carstens 提交于
Fix this warning: arch/s390/appldata/appldata_net_sum.c: In function 'appldata_get_net_sum_data': arch/s390/appldata/appldata_net_sum.c:89: warning: initialization from incompatible pointer type which was introduced with be1f3c2c "net: Enable 64-bit net device statistics on 32-bit architectures" Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
-
由 Heiko Carstens 提交于
Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
-
由 Heiko Carstens 提交于
commit 485d5276 "sys_personality: change sys_personality() to accept "unsigned int" instead of u_long" changed the syscall interface for sys_personality. Just follow the common code change in our arch code to avoid confusion. Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
-
由 Cliff Wickman 提交于
This replaces Version 1 of this patch, which broke the build when CONFIG_KEXEC and CONFIG_CRASH_DUMP were configured off. In that case the storage for the 'in_crash_kexec' flag was never built. This version defines that flag as 0 if CONFIG_KEXEC is not set. The patch is tested with all combinations of those two options. Signed-off-by: NCliff Wickman <cpw@sgi.com> Cc: Andrew Morton <akpm@linux-foundation.org> LKML-Reference: <E1OiZcw-0001Hb-2g@eag09.americas.sgi.com> Signed-off-by: NH. Peter Anvin <hpa@linux.intel.com>
-
由 Chris Wilson 提交于
The current computation, introduced with f12a15be, of FSEC_PER_SEC using the multiplication of (FSEC_PER_NSEC * NSEC_PER_SEC) is performed only with 32bit integers on small machines, resulting in an overflow and a *very* short intervals being programmed. An interrupt storm follows. Note that we also have to specify FSEC_PER_SEC as being long long to overcome the same limitations. Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk> Signed-off-by: NJohn Stultz <johnstul@us.ibm.com> Cc: Thomas Gleixner <tglx@linutronix.de> Acked-by: NIngo Molnar <mingo@elte.hu> Acked-by: NH. Peter Anvin <hpa@zytor.com> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
由 David Howells 提交于
Use no_printk() for disabled gdbstub debugging functions to maintain side effect checking. Signed-off-by: NDavid Howells <dhowells@redhat.com> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-