[Barrelfish-users] [ARM] exception stacks should be 8 bytes aligned
Kornilios Kourtis
kornilios.kourtis at inf.ethz.ch
Fri May 31 14:20:48 CEST 2013
Hi,
On Thu, May 30, 2013 at 06:25:19PM +0800, Wang Nan wrote:
> Hi,
>
> Here I propose a small patch which adjust arm exception stacks.
>
> You can try 'printf("0x%016llx", 0x12345678ULL)' in undef handler. ARM
> abi require stack be 8 bytes aligned, but original code setups 4 bytes
> gaps between 2 stacks, makes irq_stack and undef_stack misaligned.
>
> reference:
> http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka4127.html
Makes sense to me. Thanks for the patch! I've applied it and will be on
our next release.
cheers,
Kornilios.
> >From 9bc121e69f6846f9eb9db1d03f361d23577213af Mon Sep 17 00:00:00 2001
> From: Wang Nan <wangnan0 at huawei.com>
> Date: Wed, 29 May 2013 20:01:07 +0800
> Subject: [PATCH 1/2] align exception stack with 8 bytes
>
> ---
> kernel/arch/armv7/exceptions.S | 10 +++++-----
> kernel/arch/hi1380/startup_arch.c | 4 +---
> 2 files changed, 6 insertions(+), 8 deletions(-)
>
> diff --git a/kernel/arch/armv7/exceptions.S b/kernel/arch/armv7/exceptions.S
> index 427b8b1..fa75dad 100644
> --- a/kernel/arch/armv7/exceptions.S
> +++ b/kernel/arch/armv7/exceptions.S
> @@ -40,27 +40,27 @@
> abt_stack:
> .space EXCEPTION_MODE_STACK_BYTES, 0
> abt_stack_top:
> - .space 4, 0
> + .space 8, 0
>
> irq_stack:
> .space EXCEPTION_MODE_STACK_BYTES, 0
> irq_stack_top:
> - .space 4, 0
> + .space 8, 0
>
> fiq_stack:
> .space EXCEPTION_MODE_STACK_BYTES, 0
> fiq_stack_top:
> - .space 4, 0
> + .space 8, 0
>
> undef_stack:
> .space EXCEPTION_MODE_STACK_BYTES, 0
> undef_stack_top:
> - .space 4, 0
> + .space 8, 0
>
> svc_stack:
> .space EXCEPTION_MODE_STACK_BYTES, 0
> svc_stack_top:
> - .space 4, 0
> + .space 8, 0
>
> //
> // System mode stack
>
>
> _______________________________________________
> Barrelfish-users mailing list
> Barrelfish-users at lists.inf.ethz.ch
> https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users
--
Kornilios Kourtis
More information about the Barrelfish-users
mailing list