Changeset a82500ce in mainline


Ignore:
Timestamp:
2006-03-12T17:32:01Z (19 years ago)
Author:
Jakub Vana <jakub.vana@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
de6b301
Parents:
12f952e5
Message:

Two frame stack (standard stack + RSE) on Itanium

Files:
5 edited

Legend:

Unmodified
Added
Removed
  • arch/ia64/include/mm/frame.h

    r12f952e5 ra82500ce  
    3030#define __ia64_FRAME_H__
    3131
    32 /*
    33  * Frame is defined to be 64K long.
    34  * Such a relatively big frame size is used because of kernel stack requirements
    35  * and organization. Portion of the stack reserved for RSE must be at least 16K
    36  * long. If the memory stack is to have some space allocated, the next available
    37  * frame size (i.e. 64K) needs to be used.
    38  */
    39 #define FRAME_WIDTH   16        /* 64K */
     32#define FRAME_WIDTH   14        /* 64K */
    4033#define FRAME_SIZE              (1<<FRAME_WIDTH)
    4134
    4235extern void frame_arch_init(void);
    4336
     37
     38#define ARCH_STACK_FRAMES TWO_FRAMES
     39
    4440#endif
  • arch/ia64/src/mm/tlb.c

    r12f952e5 ra82500ce  
    8989{
    9090        /* TODO */
    91 }
     91        tlb_invalidate_all();
     92}
     93
     94
     95void tlb_invalidate_pages(asid_t asid, __address page, count_t cnt)
     96{
     97
     98
     99}
     100
    92101
    93102/** Insert data into data translation cache.
  • arch/ia64/src/proc/scheduler.c

    r12f952e5 ra82500ce  
    6363                "bsw.1\n"
    6464                :
    65                 : "r" (((__address) THREAD->kstack) + ALIGN_UP(sizeof(the_t), REGISTER_STACK_ALIGNMENT)),
    66                   "r" (&THREAD->kstack[THREAD_STACK_SIZE - SP_DELTA]));
     65                : /*"r" (((__address) THREAD->kstack) + ALIGN_UP(sizeof(the_t), REGISTER_STACK_ALIGNMENT)),*/
     66                  "r" (&THREAD->kstack[THREAD_STACK_SIZE]),
     67                  "r" (&THREAD->kstack[THREAD_STACK_SIZE - SP_DELTA])
     68                );
    6769}
    6870
  • generic/include/mm/frame.h

    r12f952e5 ra82500ce  
    3737#include <mm/buddy.h>
    3838#include <arch/mm/page.h>
     39#include <arch/mm/frame.h>
    3940
    4041#define ONE_FRAME       0
     42#define TWO_FRAMES      1
     43
     44#ifdef ARCH_STACK_FRAMES
     45#define STACK_FRAMES ARCH_STACK_FRAMES
     46#else
     47#define STACK_FRAMES ONE_FRAME
     48#endif
     49
    4150
    4251#define ZONES_MAX       16      /**< Maximum number of zones in system */
  • generic/src/proc/thread.c

    r12f952e5 ra82500ce  
    117117#endif 
    118118
    119         pfn = frame_alloc_rc(ONE_FRAME, FRAME_KA | kmflags,&status);
     119        pfn = frame_alloc_rc(STACK_FRAMES, FRAME_KA | kmflags,&status);
    120120        if (status) {
    121121#ifdef ARCH_HAS_FPU
Note: See TracChangeset for help on using the changeset viewer.