43 |
/* Next thread that should be dispatched into processor. */ |
/* Next thread that should be dispatched into processor. */ |
44 |
struct thread *next_thread; |
struct thread *next_thread; |
45 |
} dispatch; |
} dispatch; |
46 |
|
|
47 |
|
struct { |
48 |
|
/* Thread that should be terminated. */ |
49 |
|
struct thread *dead_thread; |
50 |
|
} terminate; |
51 |
} common; |
} common; |
52 |
}; |
}; |
53 |
|
|
97 |
#define PROCESSOR_IPI_FLUSH_TLB 1 |
#define PROCESSOR_IPI_FLUSH_TLB 1 |
98 |
#define PROCESSOR_IPI_DISPATCH 2 |
#define PROCESSOR_IPI_DISPATCH 2 |
99 |
#define PROCESSOR_IPI_HALT 3 |
#define PROCESSOR_IPI_HALT 3 |
100 |
|
#define PROCESSOR_IPI_TERMINATE 4 |
101 |
|
|
102 |
extern int ncpus, master_cpu; |
extern int ncpus, master_cpu; |
103 |
|
|
113 |
|
|
114 |
extern void processor_send_dispatch_ipi (struct processor *processor, |
extern void processor_send_dispatch_ipi (struct processor *processor, |
115 |
struct thread *thread); |
struct thread *thread); |
116 |
|
|
117 |
|
/* Terminate THREAD running on PROCESSOR. */ |
118 |
|
|
119 |
|
extern void processor_send_terminate_ipi (struct processor *processor, |
120 |
|
struct thread *thread); |
121 |
|
|
122 |
/* Interprocess interrupt handler. ??? called with interrupts disabled? */ |
/* Interprocess interrupt handler. ??? called with interrupts disabled? */ |
123 |
|
|
124 |
extern void processor_ipi_handler (void); |
extern void processor_ipi_handler (void); |