Whamcloud - gitweb
Branch HEAD
[fs/lustre-release.git] / lustre / kernel_patches / patches / linux-2.6-binutils-2.16.patch
1 --- linux/arch/i386/kernel/process.c.seg        2005-03-27 13:07:14.000000000 -0800
2 +++ linux/arch/i386/kernel/process.c    2005-03-28 10:28:47.000000000 -0800
3 @@ -597,8 +597,8 @@ struct task_struct fastcall * __switch_t
4          * Save away %fs and %gs. No need to save %es and %ds, as
5          * those are always kernel segments while inside the kernel.
6          */
7 -       asm volatile("movl %%fs,%0":"=m" (*(int *)&prev->fs));
8 -       asm volatile("movl %%gs,%0":"=m" (*(int *)&prev->gs));
9 +       asm volatile("mov %%fs,%0":"=m" (prev->fs));
10 +       asm volatile("mov %%gs,%0":"=m" (prev->gs));
11  
12         /*
13          * Restore %fs and %gs if needed.
14 --- linux/arch/i386/kernel/vm86.c.seg   2005-03-27 13:07:14.000000000 -0800
15 +++ linux/arch/i386/kernel/vm86.c       2005-03-28 10:28:47.000000000 -0800
16 @@ -294,8 +294,8 @@ static void do_sys_vm86(struct kernel_vm
17   */
18         info->regs32->eax = 0;
19         tsk->thread.saved_esp0 = tsk->thread.esp0;
20 -       asm volatile("movl %%fs,%0":"=m" (tsk->thread.saved_fs));
21 -       asm volatile("movl %%gs,%0":"=m" (tsk->thread.saved_gs));
22 +       asm volatile("mov %%fs,%0":"=m" (tsk->thread.saved_fs));
23 +       asm volatile("mov %%gs,%0":"=m" (tsk->thread.saved_gs));
24  
25         tss = &per_cpu(init_tss, get_cpu());
26         tsk->thread.esp0 = (unsigned long) &info->VM86_TSS_ESP0;
27 --- linux/arch/x86_64/kernel/process.c.seg      2005-03-27 13:07:49.000000000 -0800
28 +++ linux/arch/x86_64/kernel/process.c  2005-03-28 11:11:04.206766410 -0800
29 @@ -391,10 +391,10 @@ int copy_thread(int nr, unsigned long cl
30         p->thread.fs = me->thread.fs;
31         p->thread.gs = me->thread.gs;
32  
33 -       asm("movl %%gs,%0" : "=m" (p->thread.gsindex));
34 -       asm("movl %%fs,%0" : "=m" (p->thread.fsindex));
35 -       asm("movl %%es,%0" : "=m" (p->thread.es));
36 -       asm("movl %%ds,%0" : "=m" (p->thread.ds));
37 +       asm("mov %%gs,%0" : "=m" (p->thread.gsindex));
38 +       asm("mov %%fs,%0" : "=m" (p->thread.fsindex));
39 +       asm("mov %%es,%0" : "=m" (p->thread.es));
40 +       asm("mov %%ds,%0" : "=m" (p->thread.ds));
41  
42         if (unlikely(me->thread.io_bitmap_ptr != NULL)) { 
43                 p->thread.io_bitmap_ptr = kmalloc(IO_BITMAP_BYTES, GFP_KERNEL);
44 @@ -457,11 +457,11 @@ struct task_struct *__switch_to(struct t
45          * Switch DS and ES.
46          * This won't pick up thread selector changes, but I guess that is ok.
47          */
48 -       asm volatile("movl %%es,%0" : "=m" (prev->es)); 
49 +       asm volatile("mov %%es,%0" : "=m" (prev->es)); 
50         if (unlikely(next->es | prev->es))
51                 loadsegment(es, next->es); 
52         
53 -       asm volatile ("movl %%ds,%0" : "=m" (prev->ds)); 
54 +       asm volatile ("mov %%ds,%0" : "=m" (prev->ds)); 
55         if (unlikely(next->ds | prev->ds))
56                 loadsegment(ds, next->ds);
57  
58 @@ -472,7 +472,7 @@ struct task_struct *__switch_to(struct t
59          */
60         { 
61                 unsigned fsindex;
62 -               asm volatile("movl %%fs,%0" : "=g" (fsindex)); 
63 +               asm volatile("movl %%fs,%0" : "=r" (fsindex)); 
64                 /* segment register != 0 always requires a reload. 
65                    also reload when it has changed. 
66                    when prev process used 64bit base always reload
67 @@ -493,7 +493,7 @@ struct task_struct *__switch_to(struct t
68         }
69         { 
70                 unsigned gsindex;
71 -               asm volatile("movl %%gs,%0" : "=g" (gsindex)); 
72 +               asm volatile("movl %%gs,%0" : "=r" (gsindex)); 
73                 if (unlikely(gsindex | next->gsindex | prev->gs)) {
74                         load_gs_index(next->gsindex);
75                         if (gsindex)
76 --- linux/include/asm-i386/system.h.seg 2005-03-27 13:09:12.000000000 -0800
77 +++ linux/include/asm-i386/system.h     2005-03-28 10:28:47.000000000 -0800
78 @@ -81,7 +81,7 @@ static inline unsigned long _get_base(ch
79  #define loadsegment(seg,value)                 \
80         asm volatile("\n"                       \
81                 "1:\t"                          \
82 -               "movl %0,%%" #seg "\n"          \
83 +               "mov %0,%%" #seg "\n"           \
84                 "2:\n"                          \
85                 ".section .fixup,\"ax\"\n"      \
86                 "3:\t"                          \
87 @@ -93,13 +93,13 @@ static inline unsigned long _get_base(ch
88                 ".align 4\n\t"                  \
89                 ".long 1b,3b\n"                 \
90                 ".previous"                     \
91 -               : :"m" (*(unsigned int *)&(value)))
92 +               : :"m" (value))
93  
94  /*
95   * Save a segment register away
96   */
97  #define savesegment(seg, value) \
98 -       asm volatile("movl %%" #seg ",%0":"=m" (*(int *)&(value)))
99 +       asm volatile("mov %%" #seg ",%0":"=m" (value))
100  
101  /*
102   * Clear and set 'TS' bit respectively