Changeset 361635c in mainline for include


Ignore:
Timestamp:
2005-08-25T20:58:07Z (20 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
fde6429
Parents:
cfd6efd2
Message:

Preparations for weaker preemption model.
Make all kernel stacks (i.e. startup, scheduler and thread) be STACK_SIZE bytes long.
Reincarnate "the" structure. This time, it is planned to be located at the base of each and every kernel stack.
On IA-32 and MIPS, implement get_stack_base() functions. On the rest of supported platforms, define it to be dummy.

Location:
include
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • include/arch.h

    rcfd6efd2 r361635c  
    4747#define TASK            (cpu_private_data[CPU_ID_ARCH].task)
    4848
     49/*
     50 * For each possible kernel stack, structure
     51 * of the following type will be placed at
     52 * the bottom of the stack.
     53 */
     54struct the {
     55        int preemption_disabled;
     56        thread_t *thread;               /* current thread */
     57        task_t *task;                   /* current task */
     58        cpu_t *cpu;                     /* executing cpu */
     59};
     60
    4961extern void arch_pre_mm_init(void);
    5062extern void arch_post_mm_init(void);
  • include/config.h

    rcfd6efd2 r361635c  
    3232#include <arch/types.h>
    3333#include <typedefs.h>
     34#include <arch/mm/page.h>
     35
     36#define STACK_SIZE              PAGE_SIZE
    3437
    3538#define CONFIG_MEMORY_SIZE      4*1024*1024
    3639#define CONFIG_HEAP_SIZE        300*1024
    37 #define CONFIG_STACK_SIZE       32*1024
     40#define CONFIG_STACK_SIZE       STACK_SIZE
    3841
    3942struct config {
  • include/cpu.h

    rcfd6efd2 r361635c  
    4040#include <typedefs.h>
    4141#include <arch/context.h>
     42#include <config.h>
    4243
    43 #define CPU_STACK_SIZE  PAGE_SIZE
     44#define CPU_STACK_SIZE  STACK_SIZE
    4445
    4546struct cpu {
  • include/proc/thread.h

    rcfd6efd2 r361635c  
    4040#include <synch/rwlock.h>
    4141#include <mm/page.h>
     42#include <config.h>
    4243#include <list.h>
    4344
    44 #define THREAD_STACK_SIZE       PAGE_SIZE
     45#define THREAD_STACK_SIZE       STACK_SIZE
    4546
    4647#define THREAD_USER_STACK       1
  • include/typedefs.h

    rcfd6efd2 r361635c  
    7272typedef char *char_ptr;
    7373
     74typedef struct the the_t;
     75
    7476#endif
Note: See TracChangeset for help on using the changeset viewer.