root/include/asm-alpha/system.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   1 #ifndef __ALPHA_SYSTEM_H
   2 #define __ALPHA_SYSTEM_H
   3 
   4 /*
   5  * System defines.. Note that this is included both from .c and .S
   6  * files, so it does only defines, not any C code.
   7  */
   8 
   9 /*
  10  * We leave one page for the initial stack page, and one page for
  11  * the initial process structure. Also, the console eats 3 MB for
  12  * the initial bootloader (one of which we can reclaim later).
  13  * So the initial load address is 0xfffffc0000304000UL
  14  */
  15 #define INIT_PCB        0xfffffc0000300000
  16 #define INIT_STACK      0xfffffc0000302000
  17 #define START_ADDR      0xfffffc0000304000
  18 #define SIZE            (32*1024)
  19 
  20 /*
  21  * Common PAL-code
  22  */
  23 #define PAL_halt          0
  24 #define PAL_cflush        1
  25 #define PAL_draina        2
  26 #define PAL_cobratt       9
  27 #define PAL_bpt         128
  28 #define PAL_bugchk      129
  29 #define PAL_chmk        131
  30 #define PAL_callsys     131
  31 #define PAL_imb         134
  32 #define PAL_rduniq      158
  33 #define PAL_wruniq      159
  34 #define PAL_gentrap     170
  35 #define PAL_nphalt      190
  36 
  37 /*
  38  * VMS specific PAL-code
  39  */
  40 #define PAL_swppal      10
  41 #define PAL_mfpr_vptb   41
  42 
  43 /*
  44  * OSF specific PAL-code
  45  */
  46 #define PAL_mtpr_mces   17
  47 #define PAL_wrfen       43
  48 #define PAL_wrvptptr    45
  49 #define PAL_jtopal      46
  50 #define PAL_swpctx      48
  51 #define PAL_wrval       49
  52 #define PAL_rdval       50
  53 #define PAL_tbi         51
  54 #define PAL_wrent       52
  55 #define PAL_swpipl      53
  56 #define PAL_rdps        54
  57 #define PAL_wrkgp       55
  58 #define PAL_wrusp       56
  59 #define PAL_wrperfmon   57
  60 #define PAL_rdusp       58
  61 #define PAL_whami       60
  62 #define PAL_rtsys       61
  63 #define PAL_rti         63
  64 
  65 #ifndef mb
  66 #define mb() __asm__ __volatile__("mb": : :"memory")
  67 #endif
  68 
  69 #define invalidate_all() \
  70 __asm__ __volatile__( \
  71         "lda $16,-2($31)\n\t" \
  72         ".long 51" \
  73         : : :"$1", "$16", "$17", "$22","$23","$24","$25")
  74 
  75 #define invalidate() \
  76 __asm__ __volatile__( \
  77         "lda $16,-1($31)\n\t" \
  78         ".long 51" \
  79         : : :"$1", "$16", "$17", "$22","$23","$24","$25")
  80 
  81 #define swpipl(__new_ipl) \
  82 ({ unsigned long __old_ipl; \
  83 __asm__ __volatile__( \
  84         "bis %1,%1,$16\n\t" \
  85         ".long 53\n\t" \
  86         "bis $0,$0,%0" \
  87         : "=r" (__old_ipl) \
  88         : "r" (__new_ipl) \
  89         : "$0", "$1", "$16", "$22", "$23", "$24", "$25"); \
  90 __old_ipl; })
  91 
  92 #endif

/* [previous][next][first][last][top][bottom][index][help] */