Changeset 0b3a78f in mainline


Ignore:
Timestamp:
2007-01-29T16:18:37Z (18 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
8be8cfa
Parents:
3bf4143
Message:

move cpu_t to cpu.h

Location:
kernel/generic/include
Files:
2 edited

Legend:

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

    r3bf4143 r0b3a78f  
    3636#define KERN_CPU_H_
    3737
    38 #include <proc/thread.h>
     38#include <mm/tlb.h>
     39#include <synch/spinlock.h>
     40#include <proc/scheduler.h>
     41#include <arch/cpu.h>
     42#include <arch/context.h>
    3943
    4044#define CPU_STACK_SIZE  STACK_SIZE
     45
     46/** CPU structure.
     47 *
     48 * There is one structure like this for every processor.
     49 */
     50typedef struct {
     51        SPINLOCK_DECLARE(lock);
     52
     53        tlb_shootdown_msg_t tlb_messages[TLB_MESSAGE_QUEUE_LEN];
     54        count_t tlb_messages_count;
     55       
     56        context_t saved_context;
     57
     58        atomic_t nrdy;
     59        runq_t rq[RQ_COUNT];
     60        volatile count_t needs_relink;
     61
     62        SPINLOCK_DECLARE(timeoutlock);
     63        link_t timeout_active_head;
     64
     65        count_t missed_clock_ticks;     /**< When system clock loses a tick, it is recorded here
     66                                             so that clock() can react. This variable is
     67                                             CPU-local and can be only accessed when interrupts
     68                                             are disabled. */
     69
     70        /**
     71         * Processor ID assigned by kernel.
     72         */
     73        unsigned int id;
     74       
     75        int active;
     76        int tlb_active;
     77
     78        uint16_t frequency_mhz;
     79        uint32_t delay_loop_const;
     80
     81        cpu_arch_t arch;
     82
     83        struct thread *fpu_owner;
     84       
     85        /**
     86         * Stack used by scheduler when there is no running thread.
     87         */
     88        uint8_t *stack;
     89} cpu_t;
    4190
    4291extern cpu_t *cpus;
  • kernel/generic/include/proc/task.h

    r3bf4143 r0b3a78f  
    3636#define KERN_TASK_H_
    3737
     38#include <cpu.h>
    3839#include <synch/spinlock.h>
    3940#include <synch/mutex.h>
     
    134135} task_t;
    135136
    136 /** CPU structure.
    137  *
    138  * There is one structure like this for every processor.
    139  */
    140 typedef struct {
    141         SPINLOCK_DECLARE(lock);
    142 
    143         tlb_shootdown_msg_t tlb_messages[TLB_MESSAGE_QUEUE_LEN];
    144         count_t tlb_messages_count;
    145        
    146         context_t saved_context;
    147 
    148         atomic_t nrdy;
    149         runq_t rq[RQ_COUNT];
    150         volatile count_t needs_relink;
    151 
    152         SPINLOCK_DECLARE(timeoutlock);
    153         link_t timeout_active_head;
    154 
    155         count_t missed_clock_ticks;     /**< When system clock loses a tick, it is recorded here
    156                                              so that clock() can react. This variable is
    157                                              CPU-local and can be only accessed when interrupts
    158                                              are disabled. */
    159 
    160         /**
    161          * Processor ID assigned by kernel.
    162          */
    163         unsigned int id;
    164        
    165         int active;
    166         int tlb_active;
    167 
    168         uint16_t frequency_mhz;
    169         uint32_t delay_loop_const;
    170 
    171         cpu_arch_t arch;
    172 
    173         struct thread *fpu_owner;
    174        
    175         /**
    176          * Stack used by scheduler when there is no running thread.
    177          */
    178         uint8_t *stack;
    179 } cpu_t;
    180 
    181137typedef void (* timeout_handler_t)(void *arg);
    182138
Note: See TracChangeset for help on using the changeset viewer.