2c2,23
< Copyright 1990 Hewlett-Packard Development Company, L.P.
---
> * Copyright 1990 Hewlett-Packard Development Company, L.P.
> *
> * Permission is hereby granted, free of charge, to any person
> * obtaining a copy of this software and associated documentation
> * files (the "Software"), to deal in the Software without
> * restriction, including without limitation the rights to use, copy,
> * modify, merge, publish, distribute, sublicense, and/or sell copies
> * of the Software, and to permit persons to whom the Software is
> * furnished to do so, subject to the following conditions:
> *
> * The above copyright notice and this permission notice shall be
> * included in all copies or substantial portions of the Software.
> *
> * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
> * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
> * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
> * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
> * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
> * SOFTWARE.
> */
4,22d24
< Permission is hereby granted, free of charge, to any person obtaining a copy of
< this software and associated documentation files (the "Software"), to deal in
< the Software without restriction, including without limitation the rights to
< use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
< of the Software, and to permit persons to whom the Software is furnished to do
< so, subject to the following conditions:
<
< The above copyright notice and this permission notice shall be included in all
< copies or substantial portions of the Software.
<
< THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
< IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
< FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
< AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
< LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
< OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
< SOFTWARE.
< */
<
24,26d25
< * "@(#)rpb.h 9.2 (ULTRIX/OSF) 10/30/91"
< */
< /*
29d27
<
69c67
< #define SV_RESERVED 0x00000000 /* All STS bits; zero for backward compat. */
---
> #define SV_RESERVED 0x00000000 /* All STS bits; 0 for back compat */
79,80c77,78
< #define SV_STS_MASK 0x0000fc00 /* STS bits - system and I/O board */
< #define SV_SANDPIPER 0x00000400 /* others define system platforms. */
---
> #define SV_STS_MASK 0x0000fc00 /* STS bits - system and I/O board */
> #define SV_SANDPIPER 0x00000400 /* others define system platforms */
99c97
< #define CONS_GRPH 3 /* cons is graphics dev w/ dz/dl keybd*/
---
> #define CONS_GRPH 3 /* cons is gfx dev w/ dz/dl keybd*/
111d108
< #include <sys/types.h>
117,154c114,151
< long rpb_string; /* 008: contains string "HWRPB" */
< long rpb_vers; /* 010: HWRPB version number */
< u_long rpb_size; /* 018: bytes in RPB perCPU CTB CRB MEMDSC */
< u_long rpb_cpuid; /* 020: primary cpu id */
< u_long rpb_pagesize; /* 028: page size in bytes */
< u_long rpb_addrbits; /* 030: number of phys addr bits */
< u_long rpb_maxasn; /* 038: max valid ASN */
< char rpb_ssn[16]; /* 040: system serial num: 10 ascii chars */
< u_long rpb_systype; /* 050: system type */
< long rpb_sysvar; /* 058: system variation */
< long rpb_sysrev; /* 060: system revision */
< u_long rpb_clock; /* 068: scaled interval clock intr freq */
< u_long rpb_counter; /* 070: cycle counter frequency */
< u_long rpb_vptb; /* 078: virtual page table base */
< long rpb_res1; /* 080: reserved */
< u_long rpb_trans_off; /* 088: offset to translation buffer hint */
< u_long rpb_numprocs; /* 090: number of processor slots */
< u_long rpb_slotsize; /* 098: per-cpu slot size */
< u_long rpb_percpu_off; /* 0A0: offset to per_cpu slots */
< u_long rpb_num_ctb; /* 0A8: number of CTBs */
< u_long rpb_ctb_size; /* 0B0: bytes in largest CTB */
< u_long rpb_ctb_off; /* 0B8: offset to CTB (cons term block) */
< u_long rpb_crb_off; /* 0C0: offset to CRB (cons routine block) */
< u_long rpb_mdt_off; /* 0C8: offset to memory descriptor table */
< u_long rpb_config_off; /* 0D0: offset to config data block */
< u_long rpb_fru_off; /* 0D8: offset to FRU table */
< void (*rpb_saveterm)(); /* 0E0: virt addr of save term routine */
< long rpb_saveterm_pv; /* 0E8: proc value for save term routine */
< void (*rpb_rstrterm)(); /* 0F0: virt addr of restore term routine */
< long rpb_rstrterm_pv; /* 0F8: proc value for restore term routine */
< void (*rpb_restart)(); /* 100: virt addr of CPU restart routine */
< long rpb_restart_pv; /* 108: proc value for CPU restart routine */
< long rpb_software; /* 110: used to determine presence of kdebug */
< long rpb_hardware; /* 118: reserved for hardware */
< long rpb_checksum; /* 120: checksum of prior entries in rpb */
< long rpb_rxrdy; /* 128: receive ready bitmask */
< long rpb_txrdy; /* 130: transmit ready bitmask */
< u_long rpb_dsr_off; /* 138: Dynamic System Recog. offset */
---
> long rpb_string; /* 008: contains string "HWRPB" */
> long rpb_vers; /* 010: HWRPB version number */
> ulong rpb_size; /* 018: bytes in RPB perCPU CTB CRB MEMDSC */
> ulong rpb_cpuid; /* 020: primary cpu id */
> ulong rpb_pagesize; /* 028: page size in bytes */
> ulong rpb_addrbits; /* 030: number of phys addr bits */
> ulong rpb_maxasn; /* 038: max valid ASN */
> char rpb_ssn[16]; /* 040: system serial num: 10 ascii chars */
> ulong grpb_systype; /* 050: system type */
> long rpb_sysvar; /* 058: system variation */
> long rpb_sysrev; /* 060: system revision */
> ulong rpb_clock; /* 068: scaled interval clock intr freq */
> ulong rpb_counter; /* 070: cycle counter frequency */
> ulong rpb_vptb; /* 078: virtual page table base */
> long rpb_res1; /* 080: reserved */
> ulong rpb_trans_off; /* 088: offset to translation buffer hint */
> ulong rpb_numprocs; /* 090: number of processor slots */
> ulong rpb_slotsize; /* 098: per-cpu slot size */
> ulong rpb_percpu_off; /* 0A0: offset to per_cpu slots */
> ulong rpb_num_ctb; /* 0A8: number of CTBs */
> ulong rpb_ctb_size; /* 0B0: bytes in largest CTB */
> ulong rpb_ctb_off; /* 0B8: offset to CTB (cons term block) */
> ulong rpb_crb_off; /* 0C0: offset to CRB (cons routine block) */
> ulong rpb_mdt_off; /* 0C8: offset to memory descriptor table */
> ulong rpb_config_off; /* 0D0: offset to config data block */
> ulong rpb_fru_off; /* 0D8: offset to FRU table */
> void (*rpb_saveterm)(); /* 0E0: virt addr of save term routine */
> long rpb_saveterm_pv; /* 0E8: proc value for save term routine */
> void (*rpb_rstrterm)(); /* 0F0: virt addr of restore term routine */
> long rpb_rstrterm_pv; /* 0F8: proc value for restore term routine */
> void (*rpb_restart)(); /* 100: virt addr of CPU restart routine */
> long rpb_restart_pv; /* 108: proc value for CPU restart routine */
> long rpb_software; /* 110: used to determine presence of kdebug */
> long rpb_hardware; /* 118: reserved for hardware */
> long rpb_checksum; /* 120: checksum of prior entries in rpb */
> long rpb_rxrdy; /* 128: receive ready bitmask */
> long rpb_txrdy; /* 130: transmit ready bitmask */
> ulong rpb_dsr_off; /* 138: Dynamic System Recog. offset */
168,176c165,173
< long rpb_ksp; /* 000: kernel stack pointer */
< long rpb_usp; /* 008: user stack pointer */
< long rpb_ptbr; /* 010: page table base register */
< int rpb_cc; /* 018: cycle counter */
< int rpb_asn; /* 01C: address space number */
< long rpb_proc_uniq; /* 020: proc/thread unique value */
< long rpb_fen; /* 028: floating point enable */
< long rpb_palscr[2]; /* 030: pal scratch area */
< long rpb_pcbpad[8]; /* 040: padding for fixed size */
---
> long rpb_ksp; /* 000: kernel stack pointer */
> long rpb_usp; /* 008: user stack pointer */
> long rpb_ptbr; /* 010: page table base register */
> int rpb_cc; /* 018: cycle counter */
> int rpb_asn; /* 01C: address space number */
> long rpb_proc_uniq; /* 020: proc/thread unique value */
> long rpb_fen; /* 028: floating point enable */
> long rpb_palscr[2]; /* 030: pal scratch area */
> long rpb_pcbpad[8]; /* 040: padding for fixed size */
185,188c182,185
< u_int iccb_rxlen; /* receive length in bytes */
< u_int iccb_txlen; /* transmit length in bytes */
< char iccb_rxbuf[80]; /* receive buffer */
< char iccb_txbuf[80]; /* transmit buffer */
---
> uint iccb_rxlen; /* receive length in bytes */
> uint iccb_txlen; /* transmit length in bytes */
> char iccb_rxbuf[80]; /* receive buffer */
> char iccb_txbuf[80]; /* transmit buffer */
199,221c196,218
< long rpb_state; /* 080: per-cpu state bits */
< long rpb_palmem; /* 088: palcode memory length */
< long rpb_palscratch; /* 090: palcode scratch length */
< long rpb_palmem_addr; /* 098: phys addr of palcode mem space */
< long rpb_palscratch_addr; /* 0A0: phys addr of palcode scratch space */
< long rpb_palrev; /* 0A8: PALcode rev required */
< long rpb_proctype; /* 0B0: processor type */
< long rpb_procvar; /* 0B8: processor variation */
< long rpb_procrev; /* 0C0: processor revision */
< char rpb_procsn[16]; /* 0C8: proc serial num: 10 ascii chars */
< long rpb_logout; /* 0D8: phys addr of logout area */
< long rpb_logout_len; /* 0E0: length in bytes of logout area */
< long rpb_haltpb; /* 0E8: halt pcb base */
< long rpb_haltpc; /* 0F0: halt pc */
< long rpb_haltps; /* 0F8: halt ps */
< long rpb_haltal; /* 100: halt arg list (R25) */
< long rpb_haltra; /* 108: halt return address (R26) */
< long rpb_haltpv; /* 110: halt procedure value (R27) */
< long rpb_haltcode; /* 118: reason for halt */
< long rpb_software; /* 120: for software */
< struct iccb rpb_iccb; /* 128: inter-console communications buffer */
< long rpb_palrev_avail[16];/* 1D0: PALcode revs available */
< long rpb_pcrsvd[6]; /* 250: reserved for arch use */
---
> long rpb_state; /* 080: per-cpu state bits */
> long rpb_palmem; /* 088: palcode memory length */
> long rpb_palscratch; /* 090: palcode scratch length */
> long rpb_palmem_addr; /* 098: phys addr of palcode mem space */
> long rpb_palscratch_addr; /* 0A0: phys addr of palcode scratch space */
> long rpb_palrev; /* 0A8: PALcode rev required */
> long rpb_proctype; /* 0B0: processor type */
> long rpb_procvar; /* 0B8: processor variation */
> long rpb_procrev; /* 0C0: processor revision */
> char rpb_procsn[16]; /* 0C8: proc serial num: 10 ascii chars */
> long rpb_logout; /* 0D8: phys addr of logout area */
> long rpb_logout_len; /* 0E0: length in bytes of logout area */
> long rpb_haltpb; /* 0E8: halt pcb base */
> long rpb_haltpc; /* 0F0: halt pc */
> long rpb_haltps; /* 0F8: halt ps */
> long rpb_haltal; /* 100: halt arg list (R25) */
> long rpb_haltra; /* 108: halt return address (R26) */
> long rpb_haltpv; /* 110: halt procedure value (R27) */
> long rpb_haltcode; /* 118: reason for halt */
> long rpb_software; /* 120: for software */
> struct iccb rpb_iccb; /* 128: inter-console communications buffer */
> long rpb_palrev_avail[16]; /* 1D0: PALcode revs available */
> long rpb_pcrsvd[6]; /* 250: reserved for arch use */
232,238c229,235
< long rpb_pfn; /* 000: starting PFN of this cluster */
< long rpb_pfncount; /* 008: count of PFNs in this cluster */
< long rpb_pfntested; /* 010: count of tested PFNs in cluster */
< long rpb_va; /* 018: va of bitmap */
< long rpb_pa; /* 020: pa of bitmap */
< long rpb_checksum; /* 028: checksum of bitmap */
< long rpb_usage; /* 030: usage of cluster */
---
> long rpb_pfn; /* 000: starting PFN of this cluster */
> long rpb_pfncount; /* 008: count of PFNs in this cluster */
> long rpb_pfntested; /* 010: count of tested PFNs in cluster */
> long rpb_va; /* 018: va of bitmap */
> long rpb_pa; /* 020: pa of bitmap */
> long rpb_checksum; /* 028: checksum of bitmap */
> long rpb_usage; /* 030: usage of cluster */
253,255c250,252
< long rpb_checksum; /* 000: checksum of entire mem desc table */
< long rpb_impaddr; /* 008: PA of implementation dep info */
< long rpb_numcl; /* 010: number of clusters */
---
> long rpb_checksum; /* 000: checksum of entire mem desc table */
> long rpb_impaddr; /* 008: PA of implementation dep info */
> long rpb_numcl; /* 010: number of clusters */
264,275c261,271
< long ctb_type; /* 000: console type */
< long ctb_unit; /* 008: console unit */
< long ctb_resv; /* 010: reserved */
< long ctb_length; /* 018: byte length of device dep */
< /* portion */
< long ctb_csr; /* 020: CSR Address */
< long ctb_tivec; /* 028: <63>=tie; interrupt vector */
< long ctb_rivec; /* 030: <63>=rie; interrupt vector */
< long ctb_baud; /* 038: baud rate */
< long ctb_put_sts; /* 040: PUTS callback extended status */
< long ctb_get_sts; /* 048: GETS callback extended status */
< long ctb_rsvd[1]; /* 050: reserved for console use */
---
> long ctb_type; /* 000: console type */
> long ctb_unit; /* 008: console unit */
> long ctb_resv; /* 010: reserved */
> long ctb_length; /* 018: byte length of device dep portion */
> long ctb_csr; /* 020: CSR Address */
> long ctb_tivec; /* 028: <63>=tie; interrupt vector */
> long ctb_rivec; /* 030: <63>=rie; interrupt vector */
> long ctb_baud; /* 038: baud rate */
> long ctb_put_sts; /* 040: PUTS callback extended status */
> long ctb_get_sts; /* 048: GETS callback extended status */
> long ctb_rsvd[1]; /* 050: reserved for console use */
282,286c278,282
< long rpb_type; /* 000: console type */
< long rpb_unit; /* 008: console unit */
< long rpb_resv; /* 010: reserved */
< long rpb_length; /* 018: byte length of device dep portion */
< long rpb_first; /* 000: first field of device dep portion */
---
> long rpb_type; /* 000: console type */
> long rpb_unit; /* 008: console unit */
> long rpb_resv; /* 010: reserved */
> long rpb_length; /* 018: byte length of device dep portion */
> long rpb_first; /* 000: first field of device dep portion */
293,295c289,291
< long rpb_virt; /* virtual address for map entry */
< long rpb_phys; /* phys address for map entry */
< long rpb_pgcount; /* page count for map entry */
---
> long rpb_virt; /* virtual address for map entry */
> long rpb_phys; /* phys address for map entry */
> long rpb_pgcount; /* page count for map entry */
303,309c299,305
< long rpb_va_disp; /* va of call-back dispatch rtn */
< long rpb_pa_disp; /* pa of call-back dispatch rtn */
< long rpb_va_fixup; /* va of call-back fixup rtn */
< long rpb_pa_fixup; /* pa of call-back fixup rtn */
< long rpb_num; /* number of entries in phys/virt map */
< long rpb_mapped_pages; /* Number of pages to be mapped */
< struct rpb_map rpb_map[1]; /* first instance of a map entry */
---
> long rpb_va_disp; /* va of call-back dispatch rtn */
> long rpb_pa_disp; /* pa of call-back dispatch rtn */
> long rpb_va_fixup; /* va of call-back fixup rtn */
> long rpb_pa_fixup; /* pa of call-back fixup rtn */
> long rpb_num; /* number of entries in phys/virt map */
> long rpb_mapped_pages; /* Number of pages to be mapped */
> struct rpb_map rpb_map[1]; /* first instance of a map entry */
315,318c311,312
< #define CTB_SETUP ((struct rpb_ctb *) ((long)hwrpb_addr + \
< (long)(hwrpb_addr->rpb_ctb_off)))
< #define CRB_SETUP ((struct rpb_crb *) ((long)hwrpb_addr + \
< (long)(hwrpb_addr->rpb_crb_off)))
---
> #define CTB_SETUP \
> ((struct rpb_ctb *) ((long)hwrpb_addr + (long)(hwrpb_addr->rpb_ctb_off)))
319a314,316
> #define CRB_SETUP \
> ((struct rpb_crb *) ((long)hwrpb_addr + (long)(hwrpb_addr->rpb_crb_off)))
>
327,330c324,327
< long rpb_smm; /* SMM nubber used by LMF */
< u_long rpb_lurt_off; /* offset to LURT table */
< u_long rpb_sysname_off; /* offset to sysname char count */
< int lurt[10]; /* XXM has one LURT entry */
---
> long rpb_smm; /* SMM nubber used by LMF */
> ulong rpb_lurt_off; /* offset to LURT table */
> ulong rpb_sysname_off; /* offset to sysname char count */
> int lurt[10]; /* XXM has one LURT entry */