Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86-32, vdso: On system call restart after SYSENTER, use int $0x80 x86, UV: Remove UV delay in starting slave cpus x86, olpc: Wait for last byte of EC command to be accepted
This commit is contained in:
commit
14c62e78dc
|
@ -207,7 +207,6 @@ static int __cpuinit uv_wakeup_secondary(int phys_apicid, unsigned long start_ri
|
||||||
((start_rip << UVH_IPI_INT_VECTOR_SHFT) >> 12) |
|
((start_rip << UVH_IPI_INT_VECTOR_SHFT) >> 12) |
|
||||||
APIC_DM_INIT;
|
APIC_DM_INIT;
|
||||||
uv_write_global_mmr64(pnode, UVH_IPI_INT, val);
|
uv_write_global_mmr64(pnode, UVH_IPI_INT, val);
|
||||||
mdelay(10);
|
|
||||||
|
|
||||||
val = (1UL << UVH_IPI_INT_SEND_SHFT) |
|
val = (1UL << UVH_IPI_INT_SEND_SHFT) |
|
||||||
(phys_apicid << UVH_IPI_INT_APIC_ID_SHFT) |
|
(phys_apicid << UVH_IPI_INT_APIC_ID_SHFT) |
|
||||||
|
|
|
@ -161,13 +161,13 @@ restart:
|
||||||
if (inbuf && inlen) {
|
if (inbuf && inlen) {
|
||||||
/* write data to EC */
|
/* write data to EC */
|
||||||
for (i = 0; i < inlen; i++) {
|
for (i = 0; i < inlen; i++) {
|
||||||
|
pr_devel("olpc-ec: sending cmd arg 0x%x\n", inbuf[i]);
|
||||||
|
outb(inbuf[i], 0x68);
|
||||||
if (wait_on_ibf(0x6c, 0)) {
|
if (wait_on_ibf(0x6c, 0)) {
|
||||||
printk(KERN_ERR "olpc-ec: timeout waiting for"
|
printk(KERN_ERR "olpc-ec: timeout waiting for"
|
||||||
" EC accept data!\n");
|
" EC accept data!\n");
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
pr_devel("olpc-ec: sending cmd arg 0x%x\n", inbuf[i]);
|
|
||||||
outb(inbuf[i], 0x68);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (outbuf && outlen) {
|
if (outbuf && outlen) {
|
||||||
|
|
|
@ -43,7 +43,7 @@ __kernel_vsyscall:
|
||||||
.space 7,0x90
|
.space 7,0x90
|
||||||
|
|
||||||
/* 14: System call restart point is here! (SYSENTER_RETURN-2) */
|
/* 14: System call restart point is here! (SYSENTER_RETURN-2) */
|
||||||
jmp .Lenter_kernel
|
int $0x80
|
||||||
/* 16: System call normal return point is here! */
|
/* 16: System call normal return point is here! */
|
||||||
VDSO32_SYSENTER_RETURN: /* Symbol used by sysenter.c via vdso32-syms.h */
|
VDSO32_SYSENTER_RETURN: /* Symbol used by sysenter.c via vdso32-syms.h */
|
||||||
pop %ebp
|
pop %ebp
|
||||||
|
|
Loading…
Reference in New Issue