diff options
author | Mike Frysinger <michael.frysinger@analog.com> | 2007-10-21 12:19:31 -0400 |
---|---|---|
committer | Bryan Wu <bryan.wu@analog.com> | 2007-10-21 12:19:31 -0400 |
commit | a99bbccd8738c0d8df270391284db2fae28d8a82 (patch) | |
tree | 3fbcd0e8fe9a025dfa8c45dbfb7af6f6d5ed8a55 /arch/blackfin/mach-common/ints-priority-sc.c | |
parent | 876a6682aac9b22cf24e0a3a7fea648fd64e112b (diff) |
Blackfin arch: force irq_flags into the .data section
force irq_flags into the .data section by initializing it to
the hardware masks that cannot be disabled. this way if we
use irq enable/disable functions before the .bss has been
zeroed out (as does our l1 relocate/dma functions), we dont
hit a problem where bss contains bogus crap.
Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Diffstat (limited to 'arch/blackfin/mach-common/ints-priority-sc.c')
-rw-r--r-- | arch/blackfin/mach-common/ints-priority-sc.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/blackfin/mach-common/ints-priority-sc.c b/arch/blackfin/mach-common/ints-priority-sc.c index e06fe96b6fc3..7da5a0a134cc 100644 --- a/arch/blackfin/mach-common/ints-priority-sc.c +++ b/arch/blackfin/mach-common/ints-priority-sc.c | |||
@@ -58,7 +58,13 @@ | |||
58 | * - | 58 | * - |
59 | */ | 59 | */ |
60 | 60 | ||
61 | unsigned long irq_flags = 0; | 61 | /* Initialize this to an actual value to force it into the .data |
62 | * section so that we know it is properly initialized at entry into | ||
63 | * the kernel but before bss is initialized to zero (which is where | ||
64 | * it would live otherwise). The 0x1f magic represents the IRQs we | ||
65 | * cannot actually mask out in hardware. | ||
66 | */ | ||
67 | unsigned long irq_flags = 0x1f; | ||
62 | 68 | ||
63 | /* The number of spurious interrupts */ | 69 | /* The number of spurious interrupts */ |
64 | atomic_t num_spurious; | 70 | atomic_t num_spurious; |