| Age | Commit message (Collapse) | Author |
|
Cleanup asm-parisc/processor.h to use C99 initializers in
INIT_THREAD().
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
|
|
Add support for changing unaligned trap behaviour on a
per-thread basis.
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
|
|
This patch (written by me and also containing many suggestions of Arjan van
de Ven) does a major cleanup of the spinlock code. It does the following
things:
- consolidates and enhances the spinlock/rwlock debugging code
- simplifies the asm/spinlock.h files
- encapsulates the raw spinlock type and moves generic spinlock
features (such as ->break_lock) into the generic code.
- cleans up the spinlock code hierarchy to get rid of the spaghetti.
Most notably there's now only a single variant of the debugging code,
located in lib/spinlock_debug.c. (previously we had one SMP debugging
variant per architecture, plus a separate generic one for UP builds)
Also, i've enhanced the rwlock debugging facility, it will now track
write-owners. There is new spinlock-owner/CPU-tracking on SMP builds too.
All locks have lockup detection now, which will work for both soft and hard
spin/rwlock lockups.
The arch-level include files now only contain the minimally necessary
subset of the spinlock code - all the rest that can be generalized now
lives in the generic headers:
include/asm-i386/spinlock_types.h | 16
include/asm-x86_64/spinlock_types.h | 16
I have also split up the various spinlock variants into separate files,
making it easier to see which does what. The new layout is:
SMP | UP
----------------------------|-----------------------------------
asm/spinlock_types_smp.h | linux/spinlock_types_up.h
linux/spinlock_types.h | linux/spinlock_types.h
asm/spinlock_smp.h | linux/spinlock_up.h
linux/spinlock_api_smp.h | linux/spinlock_api_up.h
linux/spinlock.h | linux/spinlock.h
/*
* here's the role of the various spinlock/rwlock related include files:
*
* on SMP builds:
*
* asm/spinlock_types.h: contains the raw_spinlock_t/raw_rwlock_t and the
* initializers
*
* linux/spinlock_types.h:
* defines the generic type and initializers
*
* asm/spinlock.h: contains the __raw_spin_*()/etc. lowlevel
* implementations, mostly inline assembly code
*
* (also included on UP-debug builds:)
*
* linux/spinlock_api_smp.h:
* contains the prototypes for the _spin_*() APIs.
*
* linux/spinlock.h: builds the final spin_*() APIs.
*
* on UP builds:
*
* linux/spinlock_type_up.h:
* contains the generic, simplified UP spinlock type.
* (which is an empty structure on non-debug builds)
*
* linux/spinlock_types.h:
* defines the generic type and initializers
*
* linux/spinlock_up.h:
* contains the __raw_spin_*()/etc. version of UP
* builds. (which are NOPs on non-debug, non-preempt
* builds)
*
* (included on UP-non-debug builds:)
*
* linux/spinlock_api_up.h:
* builds the _spin_*() APIs.
*
* linux/spinlock.h: builds the final spin_*() APIs.
*/
All SMP and UP architectures are converted by this patch.
arm, i386, ia64, ppc, ppc64, s390/s390x, x64 was build-tested via
crosscompilers. m32r, mips, sh, sparc, have not been tested yet, but should
be mostly fine.
From: Grant Grundler <grundler@parisc-linux.org>
Booted and lightly tested on a500-44 (64-bit, SMP kernel, dual CPU).
Builds 32-bit SMP kernel (not booted or tested). I did not try to build
non-SMP kernels. That should be trivial to fix up later if necessary.
I converted bit ops atomic_hash lock to raw_spinlock_t. Doing so avoids
some ugly nesting of linux/*.h and asm/*.h files. Those particular locks
are well tested and contained entirely inside arch specific code. I do NOT
expect any new issues to arise with them.
If someone does ever need to use debug/metrics with them, then they will
need to unravel this hairball between spinlocks, atomic ops, and bit ops
that exist only because parisc has exactly one atomic instruction: LDCW
(load and clear word).
From: "Luck, Tony" <tony.luck@intel.com>
ia64 fix
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Arjan van de Ven <arjanv@infradead.org>
Signed-off-by: Grant Grundler <grundler@parisc-linux.org>
Cc: Matthew Wilcox <willy@debian.org>
Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
Signed-off-by: Mikael Pettersson <mikpe@csd.uu.se>
Signed-off-by: Benoit Boissinot <benoit.boissinot@ens-lyon.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
- Move MCA_bus declaration from <asm/processor.h> to <linux/mca.h>
- Define it in mca.c, not setup.c
- EXPORT_SYMBOL it at the site of its definition.
- Fix up random files to include <linux/mca.h> for the use of the MCA_bus
symbol
- Delete some unnecessary ifdefs.
- Delete some unneeded comments.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
|
|
- Split PA7300LC from PA7100LC (Matthew Wilcox)
- Handle 32-bit firmware and 64-bit kernel at runtime (Ryan Bradetich)
- Fix building in a separate tree (Matthew Wilcox)
- Update defconfigs (Randolph Chung)
- Make WCHAN work (Randolph Chung)
- Initial support for SMP in 2.6 (Grant Grundler)
- Use 8-byte PTEs on 32-bit kernels (James Bottomley)
- Implement L2/L3 hybrid page tables for 64 bit kernels (James Bottomley)
- Support 8TB of physical and virtual address space (James Bottomley)
- Macro'ise the tlb miss handlers (James Bottomley)
- Check the ptrace flags correctly in the syscall return path (Randolph Chung)
- Eliminate many magic numbers (James Bottomley)
- Work around linker bug in vmlinux.lds.S (James Bottomley)
- Many cache flushing fixes (James Bottomley)
- first baby step for PA8800 support (Grant Grundler)
- Self-aligning spinlocks (Randolph Chung)
|
|
PA-RISC updates for 2.6.0-test6
- Some more support for 64-bit userspace
- Move many EXPORT_SYMBOLs out of parisc_ksyms.c
- Make both the OSS and ALSA harmony drivers build
- ioctl typechecking
- Make math-emu build without warnings.
- Persuade SuckyIO to not crash the machine.
|
|
When I change the setting of CONFIG_EISA, everything rebuilds. This is
because EISA_bus is declared in <asm/processor.h> which is implicitly
included by just about everything. This is a silly place to declare it,
so this patch moves it to include/linux/eisa.h.
While I'm at it, I also move the variable definition to
drivers/eisa/eisa-bus.c. The rest of this patch is fixing up the fallout
from having to include <linux/eisa.h> if you use EISA_bus.
|
|
arch/parisc, drivers/parisc and include/asm-parisc updates:
- Fixups for struct timespec changes (James Bottomley)
- Add CONFIG_FRAME_POINTER (Thibaut Varene)
- Fix hpux ustat emulation (Helge Deller)
- Add a ->remove operation to struct parisc_device (James Bottomley)
- More work on modules (James Bottomley)
- More unaligned instructions handled (LaMont Jones)
- Fix byteswap assembly (Grant Grundler)
- Allow ISA support to be selected (Matthew Wilcox)
- Fix swapping (James Bottomley)
|
|
This update covers a lot of changes to arch/parisc and parisc-specific
drivers.
- irq_return_t changes
- more work on the module loader (James Bottomley)
- rewrite of led.c by Helge Deller
- many miscellaneous updates
|
|
This allows us to avoid having to use atomic updates for the lazy FP
status setting, since we don't have to worry about other CPU's racing
on the fields.
Also, fix x86 FP state after fork() by making sure the FP is unlazied
_before_ we copy the state information. Otherwise, if a process did a
fork() while holding the FP state lazily in the registers, the child
would incorrectly unlazy bogus state.
|
|
Updates for 2.5.56:
- Integrate Stephen Rothwell's compat code
- OProfile support for Randolph Chung
- Makefile updates from Sam Ravnborg
- Regenerated defconfig as requested by Rusty
- Generic device model updates (James Bottomley)
- And lots of general updating bugfixing, etc.
|
|
A supplement to manfred's patch; remove copy_segments, release_segments
and even forget_segments from all architectures (except x86-64 since
Andi wants to do that seperately):
|
|
Some misc updates:
- adapt our config.in changes to arch/parisc/Kconfig
- general Makefile updaes for the new build system
- remove asm-parisc/gsc.h in favour of asm-parisc/io.h
- Alan-approved fix for the loff_t problem
- Define POLLREMOVE like other architectures.
- irq handling updates from Grant Grundler
|
|
Update include/asm-parisc
|
|
Make cpu_relax() on all architectures a gcc barrier to match x86.
|
|
- Keith Owens: module exporting error checking
- Greg KH: USB update
- Paul Mackerras: clean up wait_init_idle(), ppc prefetch macros
- Jan Kara: quota fixes
- Abraham vd Merwe: agpgart support for Intel 830M
- Jakub Jelinek: ELF loader cleanups
- Al Viro: more cleanups
- David Miller: sparc64 fix, netfilter fixes
- me: tweak resurrected oom handling
|
|
- Neil Brown: md cleanups/fixes
- Andrew Morton: console locking merge
- Andrea Arkangeli: major VM merge
|
|
|