diff options
Diffstat (limited to 'drivers/misc/sgi-gru/grutables.h')
-rw-r--r-- | drivers/misc/sgi-gru/grutables.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/drivers/misc/sgi-gru/grutables.h b/drivers/misc/sgi-gru/grutables.h index f0c7308a36bb..d83e36715e6b 100644 --- a/drivers/misc/sgi-gru/grutables.h +++ b/drivers/misc/sgi-gru/grutables.h | |||
@@ -444,6 +444,7 @@ struct gru_state { | |||
444 | in use */ | 444 | in use */ |
445 | struct gru_thread_state *gs_gts[GRU_NUM_CCH]; /* GTS currently using | 445 | struct gru_thread_state *gs_gts[GRU_NUM_CCH]; /* GTS currently using |
446 | the context */ | 446 | the context */ |
447 | int gs_irq[GRU_NUM_TFM]; /* Interrupt irqs */ | ||
447 | }; | 448 | }; |
448 | 449 | ||
449 | /* | 450 | /* |
@@ -610,6 +611,15 @@ static inline int is_kernel_context(struct gru_thread_state *gts) | |||
610 | return !gts->ts_mm; | 611 | return !gts->ts_mm; |
611 | } | 612 | } |
612 | 613 | ||
614 | /* | ||
615 | * The following are for Nehelem-EX. A more general scheme is needed for | ||
616 | * future processors. | ||
617 | */ | ||
618 | #define UV_MAX_INT_CORES 8 | ||
619 | #define uv_cpu_socket_number(p) ((cpu_physical_id(p) >> 5) & 1) | ||
620 | #define uv_cpu_ht_number(p) (cpu_physical_id(p) & 1) | ||
621 | #define uv_cpu_core_number(p) (((cpu_physical_id(p) >> 2) & 4) | \ | ||
622 | ((cpu_physical_id(p) >> 1) & 3)) | ||
613 | /*----------------------------------------------------------------------------- | 623 | /*----------------------------------------------------------------------------- |
614 | * Function prototypes & externs | 624 | * Function prototypes & externs |
615 | */ | 625 | */ |
@@ -633,9 +643,11 @@ extern void gts_drop(struct gru_thread_state *gts); | |||
633 | extern void gru_tgh_flush_init(struct gru_state *gru); | 643 | extern void gru_tgh_flush_init(struct gru_state *gru); |
634 | extern int gru_kservices_init(void); | 644 | extern int gru_kservices_init(void); |
635 | extern void gru_kservices_exit(void); | 645 | extern void gru_kservices_exit(void); |
646 | extern irqreturn_t gru0_intr(int irq, void *dev_id); | ||
647 | extern irqreturn_t gru1_intr(int irq, void *dev_id); | ||
648 | extern irqreturn_t gru_intr_mblade(int irq, void *dev_id); | ||
636 | extern int gru_dump_chiplet_request(unsigned long arg); | 649 | extern int gru_dump_chiplet_request(unsigned long arg); |
637 | extern long gru_get_gseg_statistics(unsigned long arg); | 650 | extern long gru_get_gseg_statistics(unsigned long arg); |
638 | extern irqreturn_t gru_intr(int irq, void *dev_id); | ||
639 | extern int gru_handle_user_call_os(unsigned long address); | 651 | extern int gru_handle_user_call_os(unsigned long address); |
640 | extern int gru_user_flush_tlb(unsigned long arg); | 652 | extern int gru_user_flush_tlb(unsigned long arg); |
641 | extern int gru_user_unload_context(unsigned long arg); | 653 | extern int gru_user_unload_context(unsigned long arg); |