Skip to content

Commit 906430a

Browse files
committed
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] xen: fix xen_get_eflags. [IA64] ia64/pv_ops/pv_cpu_ops: fix _IA64_REG_IP case. [IA64] remove duplicate include iommu.h [IA64] use mprintk instead of printk, in ia64_mca_modify_original_stack [IA64] Rationalize kernel mode alignment checking
2 parents ba721d3 + 0090d48 commit 906430a

File tree

8 files changed

+19
-6
lines changed

8 files changed

+19
-6
lines changed

arch/ia64/include/asm/intrinsics.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ extern long ia64_cmpxchg_called_with_bad_pointer (void);
226226
/************************************************/
227227
#define ia64_ssm IA64_INTRINSIC_MACRO(ssm)
228228
#define ia64_rsm IA64_INTRINSIC_MACRO(rsm)
229-
#define ia64_getreg IA64_INTRINSIC_API(getreg)
229+
#define ia64_getreg IA64_INTRINSIC_MACRO(getreg)
230230
#define ia64_setreg IA64_INTRINSIC_API(setreg)
231231
#define ia64_set_rr IA64_INTRINSIC_API(set_rr)
232232
#define ia64_get_rr IA64_INTRINSIC_API(get_rr)

arch/ia64/include/asm/paravirt_privop.h

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,19 @@ extern unsigned long ia64_native_getreg_func(int regnum);
7878
ia64_native_rsm(mask); \
7979
} while (0)
8080

81+
/* returned ip value should be the one in the caller,
82+
* not in __paravirt_getreg() */
83+
#define paravirt_getreg(reg) \
84+
({ \
85+
unsigned long res; \
86+
BUILD_BUG_ON(!__builtin_constant_p(reg)); \
87+
if ((reg) == _IA64_REG_IP) \
88+
res = ia64_native_getreg(_IA64_REG_IP); \
89+
else \
90+
res = pv_cpu_ops.getreg(reg); \
91+
res; \
92+
})
93+
8194
/******************************************************************************
8295
* replacement of hand written assembly codes.
8396
*/

arch/ia64/kernel/entry.S

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -499,6 +499,7 @@ GLOBAL_ENTRY(prefetch_stack)
499499
END(prefetch_stack)
500500

501501
GLOBAL_ENTRY(kernel_execve)
502+
rum psr.ac
502503
mov r15=__NR_execve // put syscall number in place
503504
break __BREAK_SYSCALL
504505
br.ret.sptk.many rp

arch/ia64/kernel/head.S

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ start_ap:
260260
* Switch into virtual mode:
261261
*/
262262
movl r16=(IA64_PSR_IT|IA64_PSR_IC|IA64_PSR_DT|IA64_PSR_RT|IA64_PSR_DFH|IA64_PSR_BN \
263-
|IA64_PSR_DI)
263+
|IA64_PSR_DI|IA64_PSR_AC)
264264
;;
265265
mov cr.ipsr=r16
266266
movl r17=1f

arch/ia64/kernel/mca.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1139,7 +1139,7 @@ ia64_mca_modify_original_stack(struct pt_regs *regs,
11391139
return previous_current;
11401140

11411141
no_mod:
1142-
printk(KERN_INFO "cpu %d, %s %s, original stack not modified\n",
1142+
mprintk(KERN_INFO "cpu %d, %s %s, original stack not modified\n",
11431143
smp_processor_id(), type, msg);
11441144
return previous_current;
11451145
}

arch/ia64/kernel/paravirt.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ ia64_native_getreg_func(int regnum)
130130
unsigned long res = -1;
131131
switch (regnum) {
132132
CASE_GET_REG(GP);
133-
CASE_GET_REG(IP);
133+
/*CASE_GET_REG(IP);*/ /* returned ip value shouldn't be constant */
134134
CASE_GET_REG(PSR);
135135
CASE_GET_REG(TP);
136136
CASE_GET_REG(SP);

arch/ia64/kernel/pci-dma.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
#include <linux/kernel.h>
2020

2121
#include <asm/page.h>
22-
#include <asm/iommu.h>
2322

2423
dma_addr_t bad_dma_address __read_mostly;
2524
EXPORT_SYMBOL(bad_dma_address);

arch/ia64/xen/hypercall.S

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ __HCALL2(xen_set_rr, HYPERPRIVOP_SET_RR)
5858
__HCALL2(xen_set_kr, HYPERPRIVOP_SET_KR)
5959

6060
#ifdef CONFIG_IA32_SUPPORT
61-
__HCALL1(xen_get_eflag, HYPERPRIVOP_GET_EFLAG)
61+
__HCALL0(xen_get_eflag, HYPERPRIVOP_GET_EFLAG)
6262
__HCALL1(xen_set_eflag, HYPERPRIVOP_SET_EFLAG) // refer SDM vol1 3.1.8
6363
#endif /* CONFIG_IA32_SUPPORT */
6464

0 commit comments

Comments
 (0)