Changeset 0b3a78f in mainline for kernel/generic/include/cpu.h


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

File:
1 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;
Note: See TracChangeset for help on using the changeset viewer.