-
Notifications
You must be signed in to change notification settings - Fork 54
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'split-asm_system_h-for-linus-20120328' of git://git.kernel…
….org/pub/scm/linux/kernel/git/dhowells/linux-asm_system Pull "Disintegrate and delete asm/system.h" from David Howells: "Here are a bunch of patches to disintegrate asm/system.h into a set of separate bits to relieve the problem of circular inclusion dependencies. I've built all the working defconfigs from all the arches that I can and made sure that they don't break. The reason for these patches is that I recently encountered a circular dependency problem that came about when I produced some patches to optimise get_order() by rewriting it to use ilog2(). This uses bitops - and on the SH arch asm/bitops.h drags in asm-generic/get_order.h by a circuituous route involving asm/system.h. The main difficulty seems to be asm/system.h. It holds a number of low level bits with no/few dependencies that are commonly used (eg. memory barriers) and a number of bits with more dependencies that aren't used in many places (eg. switch_to()). These patches break asm/system.h up into the following core pieces: (1) asm/barrier.h Move memory barriers here. This already done for MIPS and Alpha. (2) asm/switch_to.h Move switch_to() and related stuff here. (3) asm/exec.h Move arch_align_stack() here. Other process execution related bits could perhaps go here from asm/processor.h. (4) asm/cmpxchg.h Move xchg() and cmpxchg() here as they're full word atomic ops and frequently used by atomic_xchg() and atomic_cmpxchg(). (5) asm/bug.h Move die() and related bits. (6) asm/auxvec.h Move AT_VECTOR_SIZE_ARCH here. Other arch headers are created as needed on a per-arch basis." Fixed up some conflicts from other header file cleanups and moving code around that has happened in the meantime, so David's testing is somewhat weakened by that. We'll find out anything that got broken and fix it.. * tag 'split-asm_system_h-for-linus-20120328' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system: (38 commits) Delete all instances of asm/system.h Remove all #inclusions of asm/system.h Add #includes needed to permit the removal of asm/system.h Move all declarations of free_initmem() to linux/mm.h Disintegrate asm/system.h for OpenRISC Split arch_align_stack() out from asm-generic/system.h Split the switch_to() wrapper out of asm-generic/system.h Move the asm-generic/system.h xchg() implementation to asm-generic/cmpxchg.h Create asm-generic/barrier.h Make asm-generic/cmpxchg.h #include asm-generic/cmpxchg-local.h Disintegrate asm/system.h for Xtensa Disintegrate asm/system.h for Unicore32 [based on ver #3, changed by gxt] Disintegrate asm/system.h for Tile Disintegrate asm/system.h for Sparc Disintegrate asm/system.h for SH Disintegrate asm/system.h for Score Disintegrate asm/system.h for S390 Disintegrate asm/system.h for PowerPC Disintegrate asm/system.h for PA-RISC Disintegrate asm/system.h for MN10300 ...
- Loading branch information
Showing
1,603 changed files
with
6,973 additions
and
7,090 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,7 +4,6 @@ | |
* initial bootloader stuff.. | ||
*/ | ||
|
||
#include <asm/system.h> | ||
|
||
.set noreorder | ||
.globl __start | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
#ifndef __ALPHA_EXEC_H | ||
#define __ALPHA_EXEC_H | ||
|
||
#define arch_align_stack(x) (x) | ||
|
||
#endif /* __ALPHA_EXEC_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
#ifndef __ALPHA_MCE_H | ||
#define __ALPHA_MCE_H | ||
|
||
/* | ||
* This is the logout header that should be common to all platforms | ||
* (assuming they are running OSF/1 PALcode, I guess). | ||
*/ | ||
struct el_common { | ||
unsigned int size; /* size in bytes of logout area */ | ||
unsigned int sbz1 : 30; /* should be zero */ | ||
unsigned int err2 : 1; /* second error */ | ||
unsigned int retry : 1; /* retry flag */ | ||
unsigned int proc_offset; /* processor-specific offset */ | ||
unsigned int sys_offset; /* system-specific offset */ | ||
unsigned int code; /* machine check code */ | ||
unsigned int frame_rev; /* frame revision */ | ||
}; | ||
|
||
/* Machine Check Frame for uncorrectable errors (Large format) | ||
* --- This is used to log uncorrectable errors such as | ||
* double bit ECC errors. | ||
* --- These errors are detected by both processor and systems. | ||
*/ | ||
struct el_common_EV5_uncorrectable_mcheck { | ||
unsigned long shadow[8]; /* Shadow reg. 8-14, 25 */ | ||
unsigned long paltemp[24]; /* PAL TEMP REGS. */ | ||
unsigned long exc_addr; /* Address of excepting instruction*/ | ||
unsigned long exc_sum; /* Summary of arithmetic traps. */ | ||
unsigned long exc_mask; /* Exception mask (from exc_sum). */ | ||
unsigned long pal_base; /* Base address for PALcode. */ | ||
unsigned long isr; /* Interrupt Status Reg. */ | ||
unsigned long icsr; /* CURRENT SETUP OF EV5 IBOX */ | ||
unsigned long ic_perr_stat; /* I-CACHE Reg. <11> set Data parity | ||
<12> set TAG parity*/ | ||
unsigned long dc_perr_stat; /* D-CACHE error Reg. Bits set to 1: | ||
<2> Data error in bank 0 | ||
<3> Data error in bank 1 | ||
<4> Tag error in bank 0 | ||
<5> Tag error in bank 1 */ | ||
unsigned long va; /* Effective VA of fault or miss. */ | ||
unsigned long mm_stat; /* Holds the reason for D-stream | ||
fault or D-cache parity errors */ | ||
unsigned long sc_addr; /* Address that was being accessed | ||
when EV5 detected Secondary cache | ||
failure. */ | ||
unsigned long sc_stat; /* Helps determine if the error was | ||
TAG/Data parity(Secondary Cache)*/ | ||
unsigned long bc_tag_addr; /* Contents of EV5 BC_TAG_ADDR */ | ||
unsigned long ei_addr; /* Physical address of any transfer | ||
that is logged in EV5 EI_STAT */ | ||
unsigned long fill_syndrome; /* For correcting ECC errors. */ | ||
unsigned long ei_stat; /* Helps identify reason of any | ||
processor uncorrectable error | ||
at its external interface. */ | ||
unsigned long ld_lock; /* Contents of EV5 LD_LOCK register*/ | ||
}; | ||
|
||
struct el_common_EV6_mcheck { | ||
unsigned int FrameSize; /* Bytes, including this field */ | ||
unsigned int FrameFlags; /* <31> = Retry, <30> = Second Error */ | ||
unsigned int CpuOffset; /* Offset to CPU-specific info */ | ||
unsigned int SystemOffset; /* Offset to system-specific info */ | ||
unsigned int MCHK_Code; | ||
unsigned int MCHK_Frame_Rev; | ||
unsigned long I_STAT; /* EV6 Internal Processor Registers */ | ||
unsigned long DC_STAT; /* (See the 21264 Spec) */ | ||
unsigned long C_ADDR; | ||
unsigned long DC1_SYNDROME; | ||
unsigned long DC0_SYNDROME; | ||
unsigned long C_STAT; | ||
unsigned long C_STS; | ||
unsigned long MM_STAT; | ||
unsigned long EXC_ADDR; | ||
unsigned long IER_CM; | ||
unsigned long ISUM; | ||
unsigned long RESERVED0; | ||
unsigned long PAL_BASE; | ||
unsigned long I_CTL; | ||
unsigned long PCTX; | ||
}; | ||
|
||
|
||
#endif /* __ALPHA_MCE_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.