diff options
| author | J. Bruce Fields <bfields@citi.umich.edu> | 2008-07-03 16:24:06 -0400 |
|---|---|---|
| committer | J. Bruce Fields <bfields@citi.umich.edu> | 2008-07-03 16:24:06 -0400 |
| commit | e86322f611eef95aafaf726fd3965e5b211f1985 (patch) | |
| tree | 28547e26df4fc6ae671dc8cc6912a53717e4db08 /arch/alpha/kernel | |
| parent | b001a1b6aa960949a24c2cdc28257dfcc9428d74 (diff) | |
| parent | 8948896c9e098c6fd31a6a698a598a7cbd7fa40e (diff) | |
Merge branch 'for-bfields' of git://linux-nfs.org/~tomtucker/xprt-switch-2.6 into for-2.6.27
Diffstat (limited to 'arch/alpha/kernel')
| -rw-r--r-- | arch/alpha/kernel/core_t2.c | 2 | ||||
| -rw-r--r-- | arch/alpha/kernel/init_task.c | 1 | ||||
| -rw-r--r-- | arch/alpha/kernel/pci.c | 17 | ||||
| -rw-r--r-- | arch/alpha/kernel/traps.c | 3 |
4 files changed, 21 insertions, 2 deletions
diff --git a/arch/alpha/kernel/core_t2.c b/arch/alpha/kernel/core_t2.c index c0750291b44a..d9980d47ab81 100644 --- a/arch/alpha/kernel/core_t2.c +++ b/arch/alpha/kernel/core_t2.c | |||
| @@ -74,6 +74,8 @@ | |||
| 74 | # define DBG(args) | 74 | # define DBG(args) |
| 75 | #endif | 75 | #endif |
| 76 | 76 | ||
| 77 | DEFINE_SPINLOCK(t2_hae_lock); | ||
| 78 | |||
| 77 | static volatile unsigned int t2_mcheck_any_expected; | 79 | static volatile unsigned int t2_mcheck_any_expected; |
| 78 | static volatile unsigned int t2_mcheck_last_taken; | 80 | static volatile unsigned int t2_mcheck_last_taken; |
| 79 | 81 | ||
diff --git a/arch/alpha/kernel/init_task.c b/arch/alpha/kernel/init_task.c index 835d09a7b332..1f762189fa64 100644 --- a/arch/alpha/kernel/init_task.c +++ b/arch/alpha/kernel/init_task.c | |||
| @@ -9,7 +9,6 @@ | |||
| 9 | 9 | ||
| 10 | 10 | ||
| 11 | static struct fs_struct init_fs = INIT_FS; | 11 | static struct fs_struct init_fs = INIT_FS; |
| 12 | static struct files_struct init_files = INIT_FILES; | ||
| 13 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 12 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
| 14 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 13 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
| 15 | struct mm_struct init_mm = INIT_MM(init_mm); | 14 | struct mm_struct init_mm = INIT_MM(init_mm); |
diff --git a/arch/alpha/kernel/pci.c b/arch/alpha/kernel/pci.c index 36ab22a7ea12..5cf45fc51343 100644 --- a/arch/alpha/kernel/pci.c +++ b/arch/alpha/kernel/pci.c | |||
| @@ -71,6 +71,23 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82378, quirk_i | |||
| 71 | static void __init | 71 | static void __init |
| 72 | quirk_cypress(struct pci_dev *dev) | 72 | quirk_cypress(struct pci_dev *dev) |
| 73 | { | 73 | { |
| 74 | /* The Notorious Cy82C693 chip. */ | ||
| 75 | |||
| 76 | /* The generic legacy mode IDE fixup in drivers/pci/probe.c | ||
| 77 | doesn't work correctly with the Cypress IDE controller as | ||
| 78 | it has non-standard register layout. Fix that. */ | ||
| 79 | if (dev->class >> 8 == PCI_CLASS_STORAGE_IDE) { | ||
| 80 | dev->resource[2].start = dev->resource[3].start = 0; | ||
| 81 | dev->resource[2].end = dev->resource[3].end = 0; | ||
| 82 | dev->resource[2].flags = dev->resource[3].flags = 0; | ||
| 83 | if (PCI_FUNC(dev->devfn) == 2) { | ||
| 84 | dev->resource[0].start = 0x170; | ||
| 85 | dev->resource[0].end = 0x177; | ||
| 86 | dev->resource[1].start = 0x376; | ||
| 87 | dev->resource[1].end = 0x376; | ||
| 88 | } | ||
| 89 | } | ||
| 90 | |||
| 74 | /* The Cypress bridge responds on the PCI bus in the address range | 91 | /* The Cypress bridge responds on the PCI bus in the address range |
| 75 | 0xffff0000-0xffffffff (conventional x86 BIOS ROM). There is no | 92 | 0xffff0000-0xffffffff (conventional x86 BIOS ROM). There is no |
| 76 | way to turn this off. The bridge also supports several extended | 93 | way to turn this off. The bridge also supports several extended |
diff --git a/arch/alpha/kernel/traps.c b/arch/alpha/kernel/traps.c index dc57790250d2..c778779007fc 100644 --- a/arch/alpha/kernel/traps.c +++ b/arch/alpha/kernel/traps.c | |||
| @@ -447,7 +447,7 @@ struct unaligned_stat { | |||
| 447 | 447 | ||
| 448 | 448 | ||
| 449 | /* Macro for exception fixup code to access integer registers. */ | 449 | /* Macro for exception fixup code to access integer registers. */ |
| 450 | #define una_reg(r) (regs->regs[(r) >= 16 && (r) <= 18 ? (r)+19 : (r)]) | 450 | #define una_reg(r) (_regs[(r) >= 16 && (r) <= 18 ? (r)+19 : (r)]) |
| 451 | 451 | ||
| 452 | 452 | ||
| 453 | asmlinkage void | 453 | asmlinkage void |
| @@ -456,6 +456,7 @@ do_entUna(void * va, unsigned long opcode, unsigned long reg, | |||
| 456 | { | 456 | { |
| 457 | long error, tmp1, tmp2, tmp3, tmp4; | 457 | long error, tmp1, tmp2, tmp3, tmp4; |
| 458 | unsigned long pc = regs->pc - 4; | 458 | unsigned long pc = regs->pc - 4; |
| 459 | unsigned long *_regs = regs->regs; | ||
| 459 | const struct exception_table_entry *fixup; | 460 | const struct exception_table_entry *fixup; |
| 460 | 461 | ||
| 461 | unaligned[0].count++; | 462 | unaligned[0].count++; |
