Changeset e4d96e9 in mainline for kernel


Ignore:
Timestamp:
2013-03-10T22:35:19Z (12 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
b4df8db
Parents:
40a0e3bd
Message:

Improvements of stack and istate_get() definitions.

  • Make sure each architecture has arch/stack.h in kernel.
  • Make each architecture define MEM_STACK_SIZE
  • istate_get() uses MEM_STACK_SIZE to allow for a greater flexibility in computing the address of the bottom of the memory stack.
  • This fixes istate_get() on ia64.
Location:
kernel
Files:
4 added
6 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/arm32/include/arch/stack.h

    r40a0e3bd re4d96e9  
    3737#define KERN_arm32_STACK_H_
    3838
     39#include <config.h>
     40
     41#define MEM_STACK_SIZE  STACK_SIZE
     42
    3943#define STACK_ITEM_SIZE         4
    4044
  • kernel/arch/ia64/include/arch/stack.h

    r40a0e3bd re4d96e9  
    3636#define KERN_ia64_STACK_H_
    3737
     38#include <config.h>
     39
     40#define MEM_STACK_SIZE  (STACK_SIZE / 2)
     41
    3842#define STACK_ITEM_SIZE                 8
    3943#define STACK_ALIGNMENT                 16
  • kernel/arch/mips32/include/arch/stack.h

    r40a0e3bd re4d96e9  
    3636#define KERN_mips32_STACK_H_
    3737
     38#include <config.h>
     39
     40#define MEM_STACK_SIZE  STACK_SIZE
     41
    3842#define STACK_ITEM_SIZE  4
    3943#define STACK_ALIGNMENT  8
  • kernel/arch/mips64/include/arch/stack.h

    r40a0e3bd re4d96e9  
    3636#define KERN_mips64_STACK_H_
    3737
     38#include <config.h>
     39
     40#define MEM_STACK_SIZE  STACK_SIZE
     41
    3842#define STACK_ITEM_SIZE  8
    3943#define STACK_ALIGNMENT  8
  • kernel/arch/sparc64/include/arch/stack.h

    r40a0e3bd re4d96e9  
    3636#define KERN_sparc64_STACK_H_
    3737
     38#include <config.h>
     39
     40#define MEM_STACK_SIZE  STACK_SIZE
     41
    3842#define STACK_ITEM_SIZE                 8
    3943
  • kernel/generic/src/interrupt/interrupt.c

    r40a0e3bd re4d96e9  
    5454#include <proc/thread.h>
    5555#include <arch/cycle.h>
     56#include <arch/stack.h>
    5657#include <str.h>
    5758#include <trace.h>
     
    222223        /*
    223224         * The istate structure should be right at the bottom of the kernel
    224          * stack.
     225         * memory stack.
    225226         */
    226         return (istate_t *) ((uint8_t *)
    227             thread->kstack + STACK_SIZE - sizeof(istate_t));
     227        return (istate_t *) &thread->kstack[MEM_STACK_SIZE - sizeof(istate_t)];
    228228}
    229229
Note: See TracChangeset for help on using the changeset viewer.