summaryrefslogtreecommitdiff
path: root/arch/i386/cpu
diff options
context:
space:
mode:
authorGraeme Russ <graeme.russ@gmail.com>2010-10-07 20:03:23 +1100
committerGraeme Russ <graeme.russ@gmail.com>2010-10-07 20:03:23 +1100
commit5c161653db3aa585f3e47a650ae177ba9ffb7232 (patch)
tree3eed0f4ee3c40748601cf3430f4b590afaef977c /arch/i386/cpu
parent8ffb2e8f3365d9b80e8f7e5b7c0130b875e3b899 (diff)
downloadu-boot-imx-5c161653db3aa585f3e47a650ae177ba9ffb7232.zip
u-boot-imx-5c161653db3aa585f3e47a650ae177ba9ffb7232.tar.gz
u-boot-imx-5c161653db3aa585f3e47a650ae177ba9ffb7232.tar.bz2
x86: Change compiler options
Change to: - reparam=3 - no-from-pointer - no-stack-protector - preferred-stack-boundary=2 - no-top-level-reorder These options make the code a little smaller and faster
Diffstat (limited to 'arch/i386/cpu')
-rw-r--r--arch/i386/cpu/interrupts.c7
-rw-r--r--arch/i386/cpu/start.S12
2 files changed, 4 insertions, 15 deletions
diff --git a/arch/i386/cpu/interrupts.c b/arch/i386/cpu/interrupts.c
index 51023f3..47a7a29 100644
--- a/arch/i386/cpu/interrupts.c
+++ b/arch/i386/cpu/interrupts.c
@@ -225,7 +225,7 @@ int disable_interrupts(void)
}
/* IRQ Low-Level Service Routine */
-__isr__ irq_llsr(struct pt_regs *regs)
+void irq_llsr(struct pt_regs *regs)
{
/*
* For detailed description of each exception, refer to:
@@ -370,12 +370,7 @@ asm(".globl irq_common_entry\n" \
"pushl %ecx\n" \
"pushl %ebx\n" \
"mov %esp, %eax\n" \
- "pushl %ebp\n" \
- "movl %esp,%ebp\n" \
- "pushl %eax\n" \
"call irq_llsr\n" \
- "popl %eax\n" \
- "leave\n"\
"popl %ebx\n" \
"popl %ecx\n" \
"popl %edx\n" \
diff --git a/arch/i386/cpu/start.S b/arch/i386/cpu/start.S
index f67a1b7..90dfd5d 100644
--- a/arch/i386/cpu/start.S
+++ b/arch/i386/cpu/start.S
@@ -149,16 +149,10 @@ stack_ok:
wbinvd
- /* Get upper memory limit */
- movl %esp, %ecx
- subl $CONFIG_SYS_STACK_SIZE, %ecx
+ /* Set the upper memory limit parameter */
+ movl %esp, %eax
+ subl $CONFIG_SYS_STACK_SIZE, %eax
- /* Create a Stack Frame */
- pushl %ebp
- movl %esp, %ebp
-
- /* stack_limit parameter */
- pushl %ecx
call board_init_f /* Enter, U-boot! */
/* indicate (lack of) progress */