aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTony Luck <tony.luck@intel.com>2010-08-04 11:53:02 -0400
committerTony Luck <tony.luck@intel.com>2010-08-04 11:53:02 -0400
commit9354a55f9490aff8e5d4abedec3db78093772cae (patch)
tree7c48a1aadbb42c296630a1675d90b399280fa90b
parent38e14a7cf1f5ecc1fadf2d8814bca07095786551 (diff)
parentba58aebf567d2cb45ed9dbbb6910b51144f20c68 (diff)
Pull misc2-6-36 into release branch
-rw-r--r--arch/ia64/kernel/perfmon.c22
-rw-r--r--arch/ia64/kernel/vmlinux.lds.S362
2 files changed, 200 insertions, 184 deletions
diff --git a/arch/ia64/kernel/perfmon.c b/arch/ia64/kernel/perfmon.c
index ab985f785c14..744329072f33 100644
--- a/arch/ia64/kernel/perfmon.c
+++ b/arch/ia64/kernel/perfmon.c
@@ -1696,8 +1696,8 @@ pfm_poll(struct file *filp, poll_table * wait)
1696 return mask; 1696 return mask;
1697} 1697}
1698 1698
1699static int 1699static long
1700pfm_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg) 1700pfm_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
1701{ 1701{
1702 DPRINT(("pfm_ioctl called\n")); 1702 DPRINT(("pfm_ioctl called\n"));
1703 return -EINVAL; 1703 return -EINVAL;
@@ -2174,15 +2174,15 @@ pfm_no_open(struct inode *irrelevant, struct file *dontcare)
2174 2174
2175 2175
2176static const struct file_operations pfm_file_ops = { 2176static const struct file_operations pfm_file_ops = {
2177 .llseek = no_llseek, 2177 .llseek = no_llseek,
2178 .read = pfm_read, 2178 .read = pfm_read,
2179 .write = pfm_write, 2179 .write = pfm_write,
2180 .poll = pfm_poll, 2180 .poll = pfm_poll,
2181 .ioctl = pfm_ioctl, 2181 .unlocked_ioctl = pfm_ioctl,
2182 .open = pfm_no_open, /* special open code to disallow open via /proc */ 2182 .open = pfm_no_open, /* special open code to disallow open via /proc */
2183 .fasync = pfm_fasync, 2183 .fasync = pfm_fasync,
2184 .release = pfm_close, 2184 .release = pfm_close,
2185 .flush = pfm_flush 2185 .flush = pfm_flush
2186}; 2186};
2187 2187
2188static int 2188static int
diff --git a/arch/ia64/kernel/vmlinux.lds.S b/arch/ia64/kernel/vmlinux.lds.S
index e07218a2577f..5a4d044dcb1c 100644
--- a/arch/ia64/kernel/vmlinux.lds.S
+++ b/arch/ia64/kernel/vmlinux.lds.S
@@ -6,204 +6,209 @@
6 6
7#include <asm-generic/vmlinux.lds.h> 7#include <asm-generic/vmlinux.lds.h>
8 8
9#define IVT_TEXT \
10 VMLINUX_SYMBOL(__start_ivt_text) = .; \
11 *(.text..ivt) \
12 VMLINUX_SYMBOL(__end_ivt_text) = .;
13
14OUTPUT_FORMAT("elf64-ia64-little") 9OUTPUT_FORMAT("elf64-ia64-little")
15OUTPUT_ARCH(ia64) 10OUTPUT_ARCH(ia64)
16ENTRY(phys_start) 11ENTRY(phys_start)
17jiffies = jiffies_64; 12jiffies = jiffies_64;
13
18PHDRS { 14PHDRS {
19 code PT_LOAD; 15 code PT_LOAD;
20 percpu PT_LOAD; 16 percpu PT_LOAD;
21 data PT_LOAD; 17 data PT_LOAD;
22 note PT_NOTE; 18 note PT_NOTE;
23 unwind 0x70000001; /* PT_IA_64_UNWIND, but ld doesn't match the name */ 19 unwind 0x70000001; /* PT_IA_64_UNWIND, but ld doesn't match the name */
24} 20}
25SECTIONS
26{
27 /* unwind exit sections must be discarded before the rest of the
28 sections get included. */
29 /DISCARD/ : {
30 *(.IA_64.unwind.exit.text)
31 *(.IA_64.unwind_info.exit.text)
32 *(.comment)
33 *(.note)
34 }
35
36 v = PAGE_OFFSET; /* this symbol is here to make debugging easier... */
37 phys_start = _start - LOAD_OFFSET;
38
39 code : { } :code
40 . = KERNEL_START;
41
42 _text = .;
43 _stext = .;
44
45 .text : AT(ADDR(.text) - LOAD_OFFSET)
46 {
47 IVT_TEXT
48 TEXT_TEXT
49 SCHED_TEXT
50 LOCK_TEXT
51 KPROBES_TEXT
52 *(.gnu.linkonce.t*)
53 }
54 .text2 : AT(ADDR(.text2) - LOAD_OFFSET)
55 { *(.text2) }
56#ifdef CONFIG_SMP
57 .text..lock : AT(ADDR(.text..lock) - LOAD_OFFSET)
58 { *(.text..lock) }
59#endif
60 _etext = .;
61 21
62 /* Read-only data */ 22SECTIONS {
23 /*
24 * unwind exit sections must be discarded before
25 * the rest of the sections get included.
26 */
27 /DISCARD/ : {
28 *(.IA_64.unwind.exit.text)
29 *(.IA_64.unwind_info.exit.text)
30 *(.comment)
31 *(.note)
32 }
63 33
64 NOTES :code :note /* put .notes in text and mark in PT_NOTE */ 34 v = PAGE_OFFSET; /* this symbol is here to make debugging easier... */
65 code_continues : {} :code /* switch back to regular program... */ 35 phys_start = _start - LOAD_OFFSET;
36
37 code : {
38 } :code
39 . = KERNEL_START;
40
41 _text = .;
42 _stext = .;
43
44 .text : AT(ADDR(.text) - LOAD_OFFSET) {
45 __start_ivt_text = .;
46 *(.text..ivt)
47 __end_ivt_text = .;
48 TEXT_TEXT
49 SCHED_TEXT
50 LOCK_TEXT
51 KPROBES_TEXT
52 *(.gnu.linkonce.t*)
53 }
66 54
67 EXCEPTION_TABLE(16) 55 .text2 : AT(ADDR(.text2) - LOAD_OFFSET) {
56 *(.text2)
57 }
68 58
69 /* MCA table */ 59#ifdef CONFIG_SMP
70 . = ALIGN(16); 60 .text..lock : AT(ADDR(.text..lock) - LOAD_OFFSET) {
71 __mca_table : AT(ADDR(__mca_table) - LOAD_OFFSET) 61 *(.text..lock)
72 { 62 }
73 __start___mca_table = .; 63#endif
74 *(__mca_table) 64 _etext = .;
75 __stop___mca_table = .; 65
66 /*
67 * Read-only data
68 */
69 NOTES :code :note /* put .notes in text and mark in PT_NOTE */
70 code_continues : {
71 } : code /* switch back to regular program... */
72
73 EXCEPTION_TABLE(16)
74
75 /* MCA table */
76 . = ALIGN(16);
77 __mca_table : AT(ADDR(__mca_table) - LOAD_OFFSET) {
78 __start___mca_table = .;
79 *(__mca_table)
80 __stop___mca_table = .;
76 } 81 }
77 82
78 .data..patch.phys_stack_reg : AT(ADDR(.data..patch.phys_stack_reg) - LOAD_OFFSET) 83 .data..patch.phys_stack_reg : AT(ADDR(.data..patch.phys_stack_reg) - LOAD_OFFSET) {
79 { 84 __start___phys_stack_reg_patchlist = .;
80 __start___phys_stack_reg_patchlist = .; 85 *(.data..patch.phys_stack_reg)
81 *(.data..patch.phys_stack_reg) 86 __end___phys_stack_reg_patchlist = .;
82 __end___phys_stack_reg_patchlist = .;
83 } 87 }
84 88
85 /* Global data */ 89 /*
86 _data = .; 90 * Global data
91 */
92 _data = .;
87 93
88 /* Unwind info & table: */ 94 /* Unwind info & table: */
89 . = ALIGN(8); 95 . = ALIGN(8);