Changeset 1066041 in mainline for kernel/generic/include/arch.h


Ignore:
Timestamp:
2012-07-11T07:58:03Z (13 years ago)
Author:
Adam Hraska <adam.hraska+hos@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
935e28c
Parents:
b68ae24
Message:

preemption_disable: Turned functions into macros. Moved THREAD, AS, TASK, CPU into thread.h, as.h, task.h, cpu.h to fix the include hell that ensued.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/include/arch.h

    rb68ae24 r1066041  
    3636#define KERN_ARCH_H_
    3737
    38 #include <arch/arch.h>
    39 #include <proc/thread.h>
    40 #include <proc/task.h>
    41 #include <mm/as.h>
     38#include <arch/arch.h>  /* arch_pre_main() */
     39#include <arch/asm.h>   /* get_stack_base() */
     40
    4241
    4342/*
     
    4948#define THE  ((the_t * )(get_stack_base()))
    5049
    51 #define CPU                  THE->cpu
    52 #define THREAD               THE->thread
    53 #define TASK                 THE->task
    54 #define AS                   THE->as
    55 #define PREEMPTION_DISABLED  (0 != THE->preemption_disabled)
    56 #define PREEMPTION_ENABLED   (0 == THE->preemption_disabled)
    5750#define MAGIC                UINT32_C(0xfacefeed)
    5851
     
    6356        ((THE->task) ? (THE->task->container) : (DEFAULT_CONTAINER))
    6457
     58/* Fwd decl. to avoid include hell. */
     59struct thread;
     60struct task;
     61struct cpu;
     62struct as;
     63
    6564/**
    6665 * For each possible kernel stack, structure
     
    6968 */
    7069typedef struct {
    71         size_t preemption_disabled;  /**< Preemption disabled counter. */
    72         thread_t *thread;            /**< Current thread. */
    73         task_t *task;                /**< Current task. */
    74         cpu_t *cpu;                  /**< Executing cpu. */
    75         as_t *as;                    /**< Current address space. */
    76         uint32_t magic;              /**< Magic value */
     70        size_t preemption;     /**< Preemption disabled counter and flag. */
     71        struct thread *thread; /**< Current thread. */
     72        struct task *task;     /**< Current task. */
     73        struct cpu *cpu;       /**< Executing cpu. */
     74        struct as *as;         /**< Current address space. */
     75        uint32_t magic;        /**< Magic value */
    7776} the_t;
    7877
     
    9291extern void *arch_construct_function(fncptr_t *, void *, void *);
    9392
     93
    9494#endif
    9595
Note: See TracChangeset for help on using the changeset viewer.