root/include/asm-alpha/hwrpb.h

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

INCLUDED FROM


   1 #ifndef _HWRPB_H
   2 #define _HWRPB_H
   3 
   4 #define INIT_HWRPB ((struct hwrpb_struct *) 0x10000000)
   5 
   6 struct pcb_struct {
   7         unsigned long ksp;
   8         unsigned long usp;
   9         unsigned long ptbr;
  10         unsigned int pcc;
  11         unsigned int asn;
  12         unsigned long unique;
  13         unsigned long flags;
  14         unsigned long res1, res2;
  15 };
  16 
  17 struct percpu_struct {
  18         unsigned long hwpcb[16];
  19         unsigned long flags;
  20         unsigned long pal_mem_size;
  21         unsigned long pal_scratch_size;
  22         unsigned long pal_mem_pa;
  23         unsigned long pal_scratch_pa;
  24         unsigned long pal_revision;
  25         unsigned long type;
  26         unsigned long variation;
  27         unsigned long revision;
  28         unsigned long serial_no[2];
  29         unsigned long logout_area_pa;
  30         unsigned long logout_area_len;
  31         unsigned long halt_PCBB;
  32         unsigned long halt_PC;
  33         unsigned long halt_PS;
  34         unsigned long halt_arg;
  35         unsigned long halt_ra;
  36         unsigned long halt_pv;
  37         unsigned long halt_reason;
  38         unsigned long res;
  39         unsigned long ipc_buffer[21];
  40         unsigned long palcode_avail[16];
  41         unsigned long compatibility;
  42 };
  43 
  44 struct procdesc_struct {
  45         unsigned long weird_vms_stuff;
  46         unsigned long address;
  47 };
  48 
  49 struct vf_map_struct {
  50         unsigned long va;
  51         unsigned long pa;
  52         unsigned long count;
  53 };
  54 
  55 struct crb_struct {
  56         struct procdesc_struct * dispatch_va;
  57         struct procdesc_struct * dispatch_pa;
  58         struct procdesc_struct * fixup_va;
  59         struct procdesc_struct * fixup_pa;
  60         /* virtual->physical map */
  61         unsigned long map_entries;
  62         unsigned long map_pages;
  63         struct vf_map_struct map[1];
  64 };
  65 
  66 struct memclust_struct {
  67         unsigned long start_pfn;
  68         unsigned long numpages;
  69         unsigned long numtested;
  70         unsigned long bitmap_va;
  71         unsigned long bitmap_pa;
  72         unsigned long bitmap_chksum;
  73         unsigned long usage;
  74 };
  75 
  76 struct memdesc_struct {
  77         unsigned long chksum;
  78         unsigned long optional_pa;
  79         unsigned long numclusters;
  80         struct memclust_struct cluster[0];
  81 };
  82 
  83 struct hwrpb_struct {
  84         unsigned long phys_addr;        /* check: physical address of the hwrpb */
  85         unsigned long id;               /* check: "HWRPB\0\0\0" */
  86         unsigned long revision; 
  87         unsigned long size;             /* size of hwrpb */
  88         unsigned long cpuid;
  89         unsigned long pagesize;         /* 8192, I hope */
  90         unsigned long pa_bits;          /* number of physical address bits */
  91         unsigned long max_asn;
  92         unsigned char ssn[16];          /* system serial number: big bother is watching */
  93         unsigned long sys_type;
  94         unsigned long sys_variation;
  95         unsigned long sys_revision;
  96         unsigned long intr_freq;        /* interval clock frequency * 4096 */
  97         unsigned long cycle_freq;       /* cycle counter frequency */
  98         unsigned long vptb;             /* Virtual Page Table Base address */
  99         unsigned long res1;
 100         unsigned long tbhb_offset;      /* Translation Buffer Hint Block */
 101         unsigned long nr_processors;
 102         unsigned long processor_size;
 103         unsigned long processor_offset;
 104         unsigned long ctb_nr;
 105         unsigned long ctb_size;         /* console terminal block size */
 106         unsigned long ctbt_offset;      /* console terminal block table offset */
 107         unsigned long crb_offset;       /* console callback routine block */
 108         unsigned long mddt_offset;      /* memory data descriptor table */
 109         unsigned long cdb_offset;       /* configuration data block (or NULL) */
 110         unsigned long frut_offset;      /* FRU table (or NULL) */
 111         void (*save_terminal)(unsigned long);
 112         unsigned long save_terminal_data;
 113         void (*restore_terminal)(unsigned long);
 114         unsigned long restore_terminal_data;
 115         void (*CPU_restart)(unsigned long);
 116         unsigned long CPU_restart_data;
 117         unsigned long res2;
 118         unsigned long res3;
 119         unsigned long chksum;
 120         unsigned long rxrdy;
 121         unsigned long txrdy;
 122         unsigned long dsrdbt_offset;    /* "Dynamic System Recognition Data Block Table" Whee */
 123 };
 124 
 125 #endif

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