1 /* $Id: glo.h,v 1.5 1996/07/09 19:41:32 paul Exp $ */
2 /* Global variables used in the kernel. */
3
4 /* EXTERN is defined as extern except in table.c. */
5 #ifdef _TABLE
6 #undef EXTERN
7 #define EXTERN
8 #endif
9
10 /* Kernel memory. */
11 EXTERN phys_bytes code_base; /* base of kernel code */
12 EXTERN phys_bytes data_base; /* base of kernel data */
13
14 /* Low level interrupt communications. */
15 EXTERN struct proc *held_head; /* head of queue of held-up interrupts */
16 EXTERN struct proc *held_tail; /* tail of queue of held-up interrupts */
17 EXTERN unsigned char k_reenter; /* kernel reentry count (entry count less 1)*/
18
19 /* Process table. Here to stop too many things having to include proc.h. */
20 EXTERN struct proc *proc_ptr; /* pointer to currently running process */
21 extern struct proc *gwin_proc; /* pointer to user process with saved gwin */
22
23 /* Signals. */
24 EXTERN int sig_procs; /* number of procs with p_pending != 0 */
25
26 /* Memory sizes. */
27 EXTERN struct memory mem[NR_MEMS]; /* base and size of chunks of memory */
28 EXTERN phys_clicks tot_mem_size; /* total system memory size */
29
30 /* Miscellaneous. */
31 extern struct tasktab tasktab[];/* initialized in table.c, so extern here */
32 extern double t_stack[]; /* initialized in table.c, so extern here */
33 EXTERN unsigned lost_ticks; /* clock ticks counted outside the clock task */
34 EXTERN clock_t tty_timeout; /* time to wake up the TTY task */
35
36 #if (CHIP == INTEL)
37
38 /* Machine type. */
39 EXTERN int pc_at; /* PC-AT compatible hardware interface */
40 EXTERN int ps_mca; /* PS/2 with Micro Channel */
41 EXTERN unsigned int processor; /* 86, 186, 286, 386, ... */
42 #if _WORD_SIZE == 2
43 EXTERN int protected_mode; /* nonzero if running in Intel protected mode*/
44 #else
45 #define protected_mode 1 /* 386 mode implies protected mode */
46 #endif
47
48 /* Video card types. */
49 EXTERN int ega; /* nonzero if console is EGA */
50 EXTERN int vga; /* nonzero if console is VGA */
51
52 /* Memory sizes. */
53 EXTERN unsigned ext_memsize; /* initialized by assembler startup code */
54 EXTERN unsigned low_memsize;
55
56 /* Miscellaneous. */
57 EXTERN irq_handler_t irq_table[NR_IRQ_VECTORS];
58 EXTERN int irq_use; /* bit map of all in-use irq's */
59 EXTERN reg_t mon_ss, mon_sp; /* monitor stack */
60 EXTERN int mon_return; /* true if return to the monitor possible */
61 EXTERN phys_bytes reboot_code; /* program for the boot monitor */
62
63 /* Variables that are initialized elsewhere are just extern here. */
64 extern struct segdesc_s gdt[]; /* global descriptor table for protected mode*/
65
66 EXTERN _PROTOTYPE( void (*level0_func), (void) );
67 #endif /* (CHIP == INTEL) */
68
69 #if (CHIP == M68000)
70 /* Variables that are initialized elsewhere are just extern here. */
71 extern int keypad; /* Flag for keypad mode */
72 extern int app_mode; /* Flag for arrow key application mode */
73 extern int STdebKey; /* nonzero if ctl-alt-Fx detected */
74 extern struct tty *cur_cons; /* virtual cons currently displayed */
75 extern unsigned char font8[]; /* 8 pixel wide font table (initialized) */
76 extern unsigned char font12[]; /* 12 pixel wide font table (initialized) */
77 extern unsigned char font16[]; /* 16 pixel wide font table (initialized) */
78 extern unsigned short resolution; /* screen res; ST_RES_LOW..TT_RES_HIGH */
79 #endif
80
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more
information.