Messages in this thread Patch in this message | | | Date | Tue, 11 Feb 2003 19:44:53 +0100 | From | Pavel Machek <> | Subject | Fix stack handling in acpi_wakeup.S |
| |
Hi!
This fixes stack handling in acpi_wakeup.S, and makes stack smaller so that wakeup code actually fits inside memory allocated for it. Plus someone renamed .L1432 to something meaningfull. Please apply, Pavel
--- clean/arch/i386/kernel/acpi_wakeup.S 2003-02-11 17:40:33.000000000 +0100 +++ linux/arch/i386/kernel/acpi_wakeup.S 2003-02-11 12:51:03.000000000 +0100 @@ -31,7 +31,7 @@ movw %cs, %ax movw %ax, %ds # Make ds:0 point to wakeup_start movw %ax, %ss - mov wakeup_stack - wakeup_code, %sp # Private stack is needed for ASUS board + mov $(wakeup_stack - wakeup_code), %sp # Private stack is needed for ASUS board movw $0x0e00 + 'S', %fs:(0x12) pushl $0 # Kill any dangerous flags @@ -159,12 +159,14 @@ .code32 ALIGN +.org 0x800 +wakeup_stack_begin: # Stack grows down -.org 0x2000 +.org 0xff0 # Just below end of page wakeup_stack: -.org 0x3000 ENTRY(wakeup_end) -.org 0x4000 + +.org 0x1000 wakeup_pmode_return: movl $__KERNEL_DS, %eax @@ -274,7 +276,7 @@ ENTRY(do_suspend_lowlevel) cmpl $0,4(%esp) - jne .L1432 + jne ret_point call save_processor_state movl %esp, saved_context_esp @@ -287,7 +289,7 @@ movl %edi, saved_context_edi pushfl ; popl saved_context_eflags - movl $.L1432,saved_eip + movl $ret_point,saved_eip movl %esp,saved_esp movl %ebp,saved_ebp movl %ebx,saved_ebx @@ -299,7 +301,7 @@ addl $4,%esp ret .p2align 4,,7 -.L1432: +ret_point: movl $__KERNEL_DS,%eax movw %ax, %ds movl saved_context_esp, %esp -- When do you have a heart between your knees? [Johanka's followup: and *two* hearts?] - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |