Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Functions
klconfig.h File Reference
#include <linux/types.h>
#include <asm/sn/types.h>

Go to the source code of this file.

Data Structures

struct  console_s
 
struct  klc_malloc_hdr
 
struct  kl_config_hdr
 
struct  lboard_s
 
struct  klinfo_s
 
struct  klport_s
 
struct  klcpu_s
 
struct  klhub_s
 
struct  klhub_uart_s
 
struct  klmembnk_s
 
struct  klmod_serial_num_s
 
struct  klxbow_s
 
struct  klpci_device_s
 
struct  klbri_s
 
struct  klioc3_s
 
struct  klvmeb_s
 
struct  klvmed_s
 
struct  klrou_s
 
struct  klgfx_s
 
struct  klxthd_s
 
struct  kltpu_s
 
struct  klgsn_s
 
struct  klscsi_s
 
struct  klscdev_s
 
struct  klttydev_s
 
struct  klenetdev_s
 
struct  klkbddev_s
 
struct  klmsdev_s
 
struct  klfddi_s
 
struct  klmio_s
 
union  klcomp_s
 
union  kldev_s
 
union  biptr_t
 

Macros

#define KLCFGINFO_MAGIC   0xbeedbabe
 
#define MAX_MODULE_ID   255
 
#define SIZE_PAD   4096 /* 4k padding for structures */
 
#define MAX_SLOTS_PER_NODE   (1 + 2 + 6 + 2)
 
#define MAX_PCI_DEVS   8
 
#define ENABLE_BOARD   0x01
 
#define FAILED_BOARD   0x02
 
#define DUPLICATE_BOARD
 
#define VISITED_BOARD   0x08 /* Used for compact hub numbering. */
 
#define LOCAL_MASTER_IO6   0x10 /* master io6 for that node */
 
#define GLOBAL_MASTER_IO6   0x20
 
#define THIRD_NIC_PRESENT   0x40 /* for future use */
 
#define SECOND_NIC_PRESENT   0x80 /* addons like MIO are present */
 
#define KLINFO_ENABLE   0x01 /* This component is enabled */
 
#define KLINFO_FAILED   0x02 /* This component failed */
 
#define KLINFO_DEVICE   0x04 /* This component is a device */
 
#define KLINFO_VISITED   0x08 /* This component has been visited */
 
#define KLINFO_CONTROLLER   0x10 /* This component is a device controller */
 
#define KLINFO_INSTALL   0x20 /* Install a driver */
 
#define KLINFO_HEADLESS   0x40 /* Headless (or hubless) component */
 
#define IS_CONSOLE_IOC3(i)   ((((klinfo_t *)i)->flags) & KLINFO_INSTALL)
 
#define GB2   0x80000000
 
#define MAX_RSV_PTRS   32
 
#define BOARD_STRUCT   0
 
#define COMPONENT_STRUCT   1
 
#define ERRINFO_STRUCT   2
 
#define KLMALLOC_TYPE_MAX   (ERRINFO_STRUCT + 1)
 
#define DEVICE_STRUCT   3
 
#define KL_CONFIG_HDR(_nasid)   ((kl_config_hdr_t *)(KLCONFIG_ADDR(_nasid)))
 
#define KL_CONFIG_INFO_OFFSET(_nasid)   (KL_CONFIG_HDR(_nasid)->ch_board_info)
 
#define KL_CONFIG_INFO_SET_OFFSET(_nasid, _off)   (KL_CONFIG_HDR(_nasid)->ch_board_info = (_off))
 
#define KL_CONFIG_INFO(_nasid)
 
#define KL_CONFIG_MAGIC(_nasid)   (KL_CONFIG_HDR(_nasid)->ch_magic)
 
#define KL_CONFIG_CHECK_MAGIC(_nasid)   (KL_CONFIG_HDR(_nasid)->ch_magic == KLCFGINFO_MAGIC)
 
#define KL_CONFIG_HDR_INIT_MAGIC(_nasid)   (KL_CONFIG_HDR(_nasid)->ch_magic = KLCFGINFO_MAGIC)
 
#define PTR_CH_MALLOC_HDR(_k)
 
#define KL_CONFIG_CH_MALLOC_HDR(_n)   PTR_CH_MALLOC_HDR(KL_CONFIG_HDR(_n))
 
#define PTR_CH_CONS_INFO(_k)
 
#define KL_CONFIG_CH_CONS_INFO(_n)   PTR_CH_CONS_INFO(KL_CONFIG_HDR(_n))
 
#define KL_CONFIG_INFO_START(_nasid)   (klconf_off_t)(KLCONFIG_OFFSET(_nasid) + sizeof(kl_config_hdr_t))
 
#define KL_CONFIG_BOARD_NASID(_brd)   ((_brd)->brd_nasid)
 
#define KL_CONFIG_BOARD_SET_NEXT(_brd, _off)   ((_brd)->brd_next = (_off))
 
#define KL_CONFIG_DUPLICATE_BOARD(_brd)   ((_brd)->brd_flags & DUPLICATE_BOARD)
 
#define XBOW_PORT_TYPE_HUB(_xbowp, _link)   ((_xbowp)->xbow_port_info[(_link) - BASE_XBOW_PORT].port_flag & XBOW_PORT_HUB)
 
#define XBOW_PORT_TYPE_IO(_xbowp, _link)   ((_xbowp)->xbow_port_info[(_link) - BASE_XBOW_PORT].port_flag & XBOW_PORT_IO)
 
#define XBOW_PORT_IS_ENABLED(_xbowp, _link)   ((_xbowp)->xbow_port_info[(_link) - BASE_XBOW_PORT].port_flag & XBOW_PORT_ENABLE)
 
#define XBOW_PORT_NASID(_xbowp, _link)   ((_xbowp)->xbow_port_info[(_link) - BASE_XBOW_PORT].port_nasid)
 
#define XBOW_PORT_IO   0x1
 
#define XBOW_PORT_HUB   0x2
 
#define XBOW_PORT_ENABLE   0x4
 
#define SN0_PORT_FENCE_SHFT   0
 
#define SN0_PORT_FENCE_MASK   (1 << SN0_PORT_FENCE_SHFT)
 
#define KL_CPU_R4000   0x1 /* Standard R4000 */
 
#define KL_CPU_TFP   0x2 /* TFP processor */
 
#define KL_CPU_R10000   0x3 /* R10000 (T5) */
 
#define KL_CPU_NONE   (-1) /* no cpu present in slot */
 
#define KLCLASS_MASK   0xf0
 
#define KLCLASS_NONE   0x00
 
#define KLCLASS_NODE   0x10 /* CPU, Memory and HUB board */
 
#define KLCLASS_CPU   KLCLASS_NODE
 
#define KLCLASS_IO
 
#define KLCLASS_ROUTER   0x30 /* Router board */
 
#define KLCLASS_MIDPLANE
 
#define KLCLASS_GFX   0x50 /* graphics boards */
 
#define KLCLASS_PSEUDO_GFX
 
#define KLCLASS_MAX   7 /* Bump this if a new CLASS is added */
 
#define KLTYPE_MAX   10 /* Bump this if a new CLASS is added */
 
#define KLCLASS_UNKNOWN   0xf0
 
#define KLCLASS(_x)   ((_x) & KLCLASS_MASK)
 
#define KLTYPE_MASK   0x0f
 
#define KLTYPE_NONE   0x00
 
#define KLTYPE_EMPTY   0x00
 
#define KLTYPE_WEIRDCPU   (KLCLASS_CPU | 0x0)
 
#define KLTYPE_IP27   (KLCLASS_CPU | 0x1) /* 2 CPUs(R10K) per board */
 
#define KLTYPE_WEIRDIO   (KLCLASS_IO | 0x0)
 
#define KLTYPE_BASEIO   (KLCLASS_IO | 0x1) /* IOC3, SuperIO, Bridge, SCSI */
 
#define KLTYPE_IO6   KLTYPE_BASEIO /* Additional name */
 
#define KLTYPE_4CHSCSI   (KLCLASS_IO | 0x2)
 
#define KLTYPE_MSCSI   KLTYPE_4CHSCSI /* Additional name */
 
#define KLTYPE_ETHERNET   (KLCLASS_IO | 0x3)
 
#define KLTYPE_MENET   KLTYPE_ETHERNET /* Additional name */
 
#define KLTYPE_FDDI   (KLCLASS_IO | 0x4)
 
#define KLTYPE_UNUSED   (KLCLASS_IO | 0x5) /* XXX UNUSED */
 
#define KLTYPE_HAROLD   (KLCLASS_IO | 0x6) /* PCI SHOE BOX */
 
#define KLTYPE_PCI   KLTYPE_HAROLD
 
#define KLTYPE_VME   (KLCLASS_IO | 0x7) /* Any 3rd party VME card */
 
#define KLTYPE_MIO   (KLCLASS_IO | 0x8)
 
#define KLTYPE_FC   (KLCLASS_IO | 0x9)
 
#define KLTYPE_LINC   (KLCLASS_IO | 0xA)
 
#define KLTYPE_TPU   (KLCLASS_IO | 0xB) /* Tensor Processing Unit */
 
#define KLTYPE_GSN_A   (KLCLASS_IO | 0xC) /* Main GSN board */
 
#define KLTYPE_GSN_B   (KLCLASS_IO | 0xD) /* Auxiliary GSN board */
 
#define KLTYPE_GFX   (KLCLASS_GFX | 0x0) /* unknown graphics type */
 
#define KLTYPE_GFX_KONA   (KLCLASS_GFX | 0x1) /* KONA graphics on IP27 */
 
#define KLTYPE_GFX_MGRA   (KLCLASS_GFX | 0x3) /* MGRAS graphics on IP27 */
 
#define KLTYPE_WEIRDROUTER   (KLCLASS_ROUTER | 0x0)
 
#define KLTYPE_ROUTER   (KLCLASS_ROUTER | 0x1)
 
#define KLTYPE_ROUTER2   KLTYPE_ROUTER /* Obsolete! */
 
#define KLTYPE_NULL_ROUTER   (KLCLASS_ROUTER | 0x2)
 
#define KLTYPE_META_ROUTER   (KLCLASS_ROUTER | 0x3)
 
#define KLTYPE_WEIRDMIDPLANE   (KLCLASS_MIDPLANE | 0x0)
 
#define KLTYPE_MIDPLANE8   (KLCLASS_MIDPLANE | 0x1) /* 8 slot backplane */
 
#define KLTYPE_MIDPLANE   KLTYPE_MIDPLANE8
 
#define KLTYPE_PBRICK_XBOW   (KLCLASS_MIDPLANE | 0x2)
 
#define KLTYPE_IOBRICK   (KLCLASS_IOBRICK | 0x0)
 
#define KLTYPE_IBRICK   (KLCLASS_IOBRICK | 0x1)
 
#define KLTYPE_PBRICK   (KLCLASS_IOBRICK | 0x2)
 
#define KLTYPE_XBRICK   (KLCLASS_IOBRICK | 0x3)
 
#define KLTYPE_PBRICK_BRIDGE   KLTYPE_PBRICK
 
#define KLTYPE_XTHD   (KLCLASS_PSEUDO_GFX | 0x9)
 
#define KLTYPE_UNKNOWN   (KLCLASS_UNKNOWN | 0xf)
 
#define KLTYPE(_x)   ((_x) & KLTYPE_MASK)
 
#define IS_MIO_PRESENT(l)
 
#define IS_MIO_IOC3(l, n)   (IS_MIO_PRESENT(l) && (n > 2))
 
#define MAX_COMPTS_PER_BRD   24
 
#define LOCAL_BOARD   1
 
#define REMOTE_BOARD   2
 
#define LBOARD_STRUCT_VERSION   2
 
#define BOARD_SLOT(_brd)   ((_brd)->brd_slot)
 
#define KLCF_CLASS(_brd)   KLCLASS((_brd)->brd_type)
 
#define KLCF_TYPE(_brd)   KLTYPE((_brd)->brd_type)
 
#define KLCF_REMOTE(_brd)   (((_brd)->struct_type & LOCAL_BOARD) ? 0 : 1)
 
#define KLCF_NUM_COMPS(_brd)   ((_brd)->brd_numcompts)
 
#define KLCF_MODULE_ID(_brd)   ((_brd)->brd_module)
 
#define KLCF_NEXT(_brd)
 
#define KLCF_COMP(_brd, _ndx)
 
#define KLCF_COMP_ERROR(_brd, _comp)   (NODE_OFFSET_TO_K1(NASID_GET(_brd), (_comp)->errinfo))
 
#define KLCF_COMP_TYPE(_comp)   ((_comp)->struct_type)
 
#define KLCF_BRIDGE_W_ID(_comp)   ((_comp)->physid) /* Widget ID */
 
#define KLCONFIG_INFO_ENABLED(_i)   ((_i)->flags & KLINFO_ENABLE)
 
#define KLSTRUCT_UNKNOWN   0
 
#define KLSTRUCT_CPU   1
 
#define KLSTRUCT_HUB   2
 
#define KLSTRUCT_MEMBNK   3
 
#define KLSTRUCT_XBOW   4
 
#define KLSTRUCT_BRI   5
 
#define KLSTRUCT_IOC3   6
 
#define KLSTRUCT_PCI   7
 
#define KLSTRUCT_VME   8
 
#define KLSTRUCT_ROU   9
 
#define KLSTRUCT_GFX   10
 
#define KLSTRUCT_SCSI   11
 
#define KLSTRUCT_FDDI   12
 
#define KLSTRUCT_MIO   13
 
#define KLSTRUCT_DISK   14
 
#define KLSTRUCT_TAPE   15
 
#define KLSTRUCT_CDROM   16
 
#define KLSTRUCT_HUB_UART   17
 
#define KLSTRUCT_IOC3ENET   18
 
#define KLSTRUCT_IOC3UART   19
 
#define KLSTRUCT_UNUSED   20 /* XXX UNUSED */
 
#define KLSTRUCT_IOC3PCKM   21
 
#define KLSTRUCT_RAD   22
 
#define KLSTRUCT_HUB_TTY   23
 
#define KLSTRUCT_IOC3_TTY   24
 
#define KLSTRUCT_FIBERCHANNEL   25
 
#define KLSTRUCT_MOD_SERIAL_NUM   26
 
#define KLSTRUCT_IOC3MS   27
 
#define KLSTRUCT_TPU   28
 
#define KLSTRUCT_GSN_A   29
 
#define KLSTRUCT_GSN_B   30
 
#define KLSTRUCT_XTHD   31
 
#define IP27_CPU0_INDEX   0
 
#define IP27_CPU1_INDEX   1
 
#define IP27_HUB_INDEX   2
 
#define IP27_MEM_INDEX   3
 
#define BASEIO_BRIDGE_INDEX   0
 
#define BASEIO_IOC3_INDEX   1
 
#define BASEIO_SCSI1_INDEX   2
 
#define BASEIO_SCSI2_INDEX   3
 
#define MIDPLANE_XBOW_INDEX   0
 
#define ROUTER_COMPONENT_INDEX   0
 
#define CH4SCSI_BRIDGE_INDEX   0
 
#define CPU_STRUCT_VERSION   2
 
#define MEMORY_STRUCT_VERSION   2
 
#define KLCONFIG_MEMBNK_SIZE(_info, _bank)   ((_info)->membnk_bnksz[(_bank)])
 
#define MEMBNK_PREMIUM   1
 
#define KLCONFIG_MEMBNK_PREMIUM(_info, _bank)   ((_info)->membnk_attr & (MEMBNK_PREMIUM << (_bank)))
 
#define MAX_SERIAL_NUM_SIZE   10
 
#define GET_SNUM_COMP(_l)
 
#define MAX_XBOW_LINKS   16
 
#define MAX_PCI_SLOTS   8
 
#define BRIDGE_STRUCT_VERSION   2
 
#define MAX_IOC3_TTY   2
 
#define MAX_VME_SLOTS   8
 
#define ROUTER_VECTOR_VERS   2
 
#define KLGFX_COOKIE   0x0c0de000
 
#define MAX_SCSI_DEVS   16
 
#define MAX_FDDI_DEVS   10 /* XXX Is this true */
 
#define BRI_PER_XBOW   6
 
#define PCI_PER_BRI   8
 
#define DEV_PER_PCI   16
 
#define VDS_NOGFX   0x8000 /* Don't enable gfx and autoboot */
 
#define VDS_NOMP   0x100 /* Don't start slave processors */
 
#define VDS_MANUMODE   0x80 /* Manufacturing mode */
 
#define VDS_NOARB   0x40 /* No bootmaster arbitration */
 
#define VDS_PODMODE   0x20 /* Go straight to POD mode */
 
#define VDS_NO_DIAGS   0x10 /* Don't run any diags after BM arb */
 
#define VDS_DEFAULTS   0x08 /* Use default environment values */
 
#define VDS_NOMEMCLEAR   0x04 /* Don't run mem cfg code */
 
#define VDS_2ND_IO4   0x02 /* Boot from the second IO4 */
 
#define VDS_DEBUG_PROM   0x01 /* Print PROM debugging messages */
 

Typedefs

typedef u64 nic_t
 
typedef s32 klconf_off_t
 
typedef struct console_s console_t
 
typedef struct klc_malloc_hdr klc_malloc_hdr_t
 
typedef struct kl_config_hdr kl_config_hdr_t
 
typedef struct lboard_s lboard_t
 
typedef struct klinfo_s klinfo_t
 
typedef u64pci_t
 
typedef u64vmeb_t
 
typedef u64vmed_t
 
typedef u64fddi_t
 
typedef u64scsi_t
 
typedef u64mio_t
 
typedef u64graphics_t
 
typedef u64router_t
 
typedef struct klport_s klport_t
 
typedef struct klcpu_s klcpu_t
 
typedef struct klhub_s klhub_t
 
typedef struct klhub_uart_s klhub_uart_t
 
typedef struct klmembnk_s klmembnk_t
 
typedef struct klmod_serial_num_s klmod_serial_num_t
 
typedef struct klxbow_s klxbow_t
 
typedef struct klpci_device_s klpci_device_t
 
typedef struct klbri_s klbri_t
 
typedef struct klioc3_s klioc3_t
 
typedef struct klvmeb_s klvmeb_t
 
typedef struct klvmed_s klvmed_t
 
typedef struct klrou_s klrou_t
 
typedef struct klgfx_s klgfx_t
 
typedef struct klxthd_s klxthd_t
 
typedef struct kltpu_s kltpu_t
 
typedef struct klgsn_s klgsn_t
 
typedef struct klscsi_s klscsi_t
 
typedef struct klscdev_s klscdev_t
 
typedef struct klttydev_s klttydev_t
 
typedef struct klenetdev_s klenetdev_t
 
typedef struct klkbddev_s klkbddev_t
 
typedef struct klmsdev_s klmsdev_t
 
typedef struct klfddi_s klfddi_t
 
typedef struct klmio_s klmio_t
 
typedef union klcomp_s klcomp_t
 
typedef union kldev_s kldev_t
 

Functions

lboard_tfind_lboard (lboard_t *start, unsigned char type)
 
klinfo_tfind_component (lboard_t *brd, klinfo_t *kli, unsigned char type)
 
klinfo_tfind_first_component (lboard_t *brd, unsigned char type)
 
klcpu_tnasid_slice_to_cpuinfo (nasid_t, int)
 
lboard_tfind_lboard_class (lboard_t *start, unsigned char brd_class)
 
klcpu_tsn_get_cpuinfo (cpuid_t cpu)
 

Macro Definition Documentation

#define BASEIO_BRIDGE_INDEX   0

Definition at line 556 of file klconfig.h.

#define BASEIO_IOC3_INDEX   1

Definition at line 557 of file klconfig.h.

#define BASEIO_SCSI1_INDEX   2

Definition at line 558 of file klconfig.h.

#define BASEIO_SCSI2_INDEX   3

Definition at line 559 of file klconfig.h.

#define BOARD_SLOT (   _brd)    ((_brd)->brd_slot)

Definition at line 450 of file klconfig.h.

#define BOARD_STRUCT   0

Definition at line 118 of file klconfig.h.

#define BRI_PER_XBOW   6

Definition at line 864 of file klconfig.h.

#define BRIDGE_STRUCT_VERSION   2

Definition at line 667 of file klconfig.h.

#define CH4SCSI_BRIDGE_INDEX   0

Definition at line 564 of file klconfig.h.

#define COMPONENT_STRUCT   1

Definition at line 119 of file klconfig.h.

#define CPU_STRUCT_VERSION   2

Definition at line 598 of file klconfig.h.

#define DEV_PER_PCI   16

Definition at line 866 of file klconfig.h.

#define DEVICE_STRUCT   3

Definition at line 122 of file klconfig.h.

#define DUPLICATE_BOARD
Value:
0x04 /* Boards like midplanes/routers which
are discovered twice. Use one of them */

Definition at line 91 of file klconfig.h.

#define ENABLE_BOARD   0x01

Definition at line 89 of file klconfig.h.

#define ERRINFO_STRUCT   2

Definition at line 120 of file klconfig.h.

#define FAILED_BOARD   0x02

Definition at line 90 of file klconfig.h.

#define GB2   0x80000000

Definition at line 109 of file klconfig.h.

#define GET_SNUM_COMP (   _l)
Value:
KLCF_COMP(_l, _l->brd_numcompts))

Definition at line 648 of file klconfig.h.

#define GLOBAL_MASTER_IO6   0x20

Definition at line 94 of file klconfig.h.

#define IP27_CPU0_INDEX   0

Definition at line 551 of file klconfig.h.

#define IP27_CPU1_INDEX   1

Definition at line 552 of file klconfig.h.

#define IP27_HUB_INDEX   2

Definition at line 553 of file klconfig.h.

#define IP27_MEM_INDEX   3

Definition at line 554 of file klconfig.h.

#define IS_CONSOLE_IOC3 (   i)    ((((klinfo_t *)i)->flags) & KLINFO_INSTALL)

Definition at line 107 of file klconfig.h.

#define IS_MIO_IOC3 (   l,
  n 
)    (IS_MIO_PRESENT(l) && (n > 2))

Definition at line 403 of file klconfig.h.

#define IS_MIO_PRESENT (   l)
Value:
((l->brd_type == KLTYPE_BASEIO) && \
(l->brd_flags & SECOND_NIC_PRESENT))

Definition at line 401 of file klconfig.h.

#define KL_CONFIG_BOARD_NASID (   _brd)    ((_brd)->brd_nasid)

Definition at line 194 of file klconfig.h.

#define KL_CONFIG_BOARD_SET_NEXT (   _brd,
  _off 
)    ((_brd)->brd_next = (_off))

Definition at line 195 of file klconfig.h.

#define KL_CONFIG_CH_CONS_INFO (   _n)    PTR_CH_CONS_INFO(KL_CONFIG_HDR(_n))

Definition at line 187 of file klconfig.h.

#define KL_CONFIG_CH_MALLOC_HDR (   _n)    PTR_CH_MALLOC_HDR(KL_CONFIG_HDR(_n))

Definition at line 182 of file klconfig.h.

#define KL_CONFIG_CHECK_MAGIC (   _nasid)    (KL_CONFIG_HDR(_nasid)->ch_magic == KLCFGINFO_MAGIC)

Definition at line 171 of file klconfig.h.

#define KL_CONFIG_DUPLICATE_BOARD (   _brd)    ((_brd)->brd_flags & DUPLICATE_BOARD)

Definition at line 197 of file klconfig.h.

#define KL_CONFIG_HDR (   _nasid)    ((kl_config_hdr_t *)(KLCONFIG_ADDR(_nasid)))

Definition at line 159 of file klconfig.h.

#define KL_CONFIG_HDR_INIT_MAGIC (   _nasid)    (KL_CONFIG_HDR(_nasid)->ch_magic = KLCFGINFO_MAGIC)

Definition at line 174 of file klconfig.h.

#define KL_CONFIG_INFO (   _nasid)
Value:
(lboard_t *)((KL_CONFIG_HDR(_nasid)->ch_board_info) ? \
NODE_OFFSET_TO_K1((_nasid), KL_CONFIG_HDR(_nasid)->ch_board_info) : \
0)

Definition at line 165 of file klconfig.h.

#define KL_CONFIG_INFO_OFFSET (   _nasid)    (KL_CONFIG_HDR(_nasid)->ch_board_info)

Definition at line 160 of file klconfig.h.

#define KL_CONFIG_INFO_SET_OFFSET (   _nasid,
  _off 
)    (KL_CONFIG_HDR(_nasid)->ch_board_info = (_off))

Definition at line 162 of file klconfig.h.

#define KL_CONFIG_INFO_START (   _nasid)    (klconf_off_t)(KLCONFIG_OFFSET(_nasid) + sizeof(kl_config_hdr_t))

Definition at line 191 of file klconfig.h.

#define KL_CONFIG_MAGIC (   _nasid)    (KL_CONFIG_HDR(_nasid)->ch_magic)

Definition at line 169 of file klconfig.h.

#define KL_CPU_NONE   (-1) /* no cpu present in slot */

Definition at line 314 of file klconfig.h.

#define KL_CPU_R10000   0x3 /* R10000 (T5) */

Definition at line 313 of file klconfig.h.

#define KL_CPU_R4000   0x1 /* Standard R4000 */

Definition at line 311 of file klconfig.h.

#define KL_CPU_TFP   0x2 /* TFP processor */

Definition at line 312 of file klconfig.h.

#define KLCF_BRIDGE_W_ID (   _comp)    ((_comp)->physid) /* Widget ID */

Definition at line 470 of file klconfig.h.

#define KLCF_CLASS (   _brd)    KLCLASS((_brd)->brd_type)

Definition at line 452 of file klconfig.h.

#define KLCF_COMP (   _brd,
  _ndx 
)
Value:
(_brd)->brd_compts[(_ndx)]))

Definition at line 462 of file klconfig.h.

#define KLCF_COMP_ERROR (   _brd,
  _comp 
)    (NODE_OFFSET_TO_K1(NASID_GET(_brd), (_comp)->errinfo))

Definition at line 466 of file klconfig.h.

#define KLCF_COMP_TYPE (   _comp)    ((_comp)->struct_type)

Definition at line 469 of file klconfig.h.

#define KLCF_MODULE_ID (   _brd)    ((_brd)->brd_module)

Definition at line 456 of file klconfig.h.

#define KLCF_NEXT (   _brd)
Value:
((_brd)->brd_next ? \
(lboard_t *)(NODE_OFFSET_TO_K1(NASID_GET(_brd), (_brd)->brd_next)):\

Definition at line 458 of file klconfig.h.

#define KLCF_NUM_COMPS (   _brd)    ((_brd)->brd_numcompts)

Definition at line 455 of file klconfig.h.

#define KLCF_REMOTE (   _brd)    (((_brd)->struct_type & LOCAL_BOARD) ? 0 : 1)

Definition at line 454 of file klconfig.h.

#define KLCF_TYPE (   _brd)    KLTYPE((_brd)->brd_type)

Definition at line 453 of file klconfig.h.

#define KLCFGINFO_MAGIC   0xbeedbabe

Definition at line 66 of file klconfig.h.

#define KLCLASS (   _x)    ((_x) & KLCLASS_MASK)

Definition at line 336 of file klconfig.h.

#define KLCLASS_CPU   KLCLASS_NODE

Definition at line 323 of file klconfig.h.

#define KLCLASS_GFX   0x50 /* graphics boards */

Definition at line 327 of file klconfig.h.

#define KLCLASS_IO
Value:
0x20 /* BaseIO, 4 ch SCSI, ethernet, FDDI
and the non-graphics widget boards */

Definition at line 324 of file klconfig.h.

#define KLCLASS_MASK   0xf0

Definition at line 320 of file klconfig.h.

#define KLCLASS_MAX   7 /* Bump this if a new CLASS is added */

Definition at line 331 of file klconfig.h.

#define KLCLASS_MIDPLANE
Value:
0x40 /* We need to treat this as a board
so that we can record error info */

Definition at line 326 of file klconfig.h.

#define KLCLASS_NODE   0x10 /* CPU, Memory and HUB board */

Definition at line 322 of file klconfig.h.

#define KLCLASS_NONE   0x00

Definition at line 321 of file klconfig.h.

#define KLCLASS_PSEUDO_GFX
Value:
0x60 /* HDTV type cards that use a gfx
* hw ifc to xtalk and are not gfx
* class for sw purposes */

Definition at line 329 of file klconfig.h.

#define KLCLASS_ROUTER   0x30 /* Router board */

Definition at line 325 of file klconfig.h.

#define KLCLASS_UNKNOWN   0xf0

Definition at line 334 of file klconfig.h.

#define KLCONFIG_INFO_ENABLED (   _i)    ((_i)->flags & KLINFO_ENABLE)

Definition at line 500 of file klconfig.h.

#define KLCONFIG_MEMBNK_PREMIUM (   _info,
  _bank 
)    ((_info)->membnk_attr & (MEMBNK_PREMIUM << (_bank)))

Definition at line 630 of file klconfig.h.

#define KLCONFIG_MEMBNK_SIZE (   _info,
  _bank 
)    ((_info)->membnk_bnksz[(_bank)])

Definition at line 625 of file klconfig.h.

#define KLGFX_COOKIE   0x0c0de000

Definition at line 727 of file klconfig.h.

#define KLINFO_CONTROLLER   0x10 /* This component is a device controller */

Definition at line 104 of file klconfig.h.

#define KLINFO_DEVICE   0x04 /* This component is a device */

Definition at line 102 of file klconfig.h.

#define KLINFO_ENABLE   0x01 /* This component is enabled */

Definition at line 100 of file klconfig.h.

#define KLINFO_FAILED   0x02 /* This component failed */

Definition at line 101 of file klconfig.h.

#define KLINFO_HEADLESS   0x40 /* Headless (or hubless) component */

Definition at line 106 of file klconfig.h.

#define KLINFO_INSTALL   0x20 /* Install a driver */

Definition at line 105 of file klconfig.h.

#define KLINFO_VISITED   0x08 /* This component has been visited */

Definition at line 103 of file klconfig.h.

#define KLMALLOC_TYPE_MAX   (ERRINFO_STRUCT + 1)

Definition at line 121 of file klconfig.h.

#define KLSTRUCT_BRI   5

Definition at line 515 of file klconfig.h.

#define KLSTRUCT_CDROM   16

Definition at line 526 of file klconfig.h.

#define KLSTRUCT_CPU   1

Definition at line 511 of file klconfig.h.

#define KLSTRUCT_DISK   14

Definition at line 524 of file klconfig.h.

#define KLSTRUCT_FDDI   12

Definition at line 522 of file klconfig.h.

#define KLSTRUCT_FIBERCHANNEL   25

Definition at line 539 of file klconfig.h.

#define KLSTRUCT_GFX   10

Definition at line 520 of file klconfig.h.

#define KLSTRUCT_GSN_A   29

Definition at line 543 of file klconfig.h.

#define KLSTRUCT_GSN_B   30

Definition at line 544 of file klconfig.h.

#define KLSTRUCT_HUB   2

Definition at line 512 of file klconfig.h.

#define KLSTRUCT_HUB_TTY   23

Definition at line 533 of file klconfig.h.

#define KLSTRUCT_HUB_UART   17

Definition at line 527 of file klconfig.h.

#define KLSTRUCT_IOC3   6

Definition at line 516 of file klconfig.h.

#define KLSTRUCT_IOC3_TTY   24

Definition at line 534 of file klconfig.h.

#define KLSTRUCT_IOC3ENET   18

Definition at line 528 of file klconfig.h.

#define KLSTRUCT_IOC3MS   27

Definition at line 541 of file klconfig.h.

#define KLSTRUCT_IOC3PCKM   21

Definition at line 531 of file klconfig.h.

#define KLSTRUCT_IOC3UART   19

Definition at line 529 of file klconfig.h.

#define KLSTRUCT_MEMBNK   3

Definition at line 513 of file klconfig.h.

#define KLSTRUCT_MIO   13

Definition at line 523 of file klconfig.h.

#define KLSTRUCT_MOD_SERIAL_NUM   26

Definition at line 540 of file klconfig.h.

#define KLSTRUCT_PCI   7

Definition at line 517 of file klconfig.h.

#define KLSTRUCT_RAD   22

Definition at line 532 of file klconfig.h.

#define KLSTRUCT_ROU   9

Definition at line 519 of file klconfig.h.

#define KLSTRUCT_SCSI   11

Definition at line 521 of file klconfig.h.

#define KLSTRUCT_TAPE   15

Definition at line 525 of file klconfig.h.

#define KLSTRUCT_TPU   28

Definition at line 542 of file klconfig.h.

#define KLSTRUCT_UNKNOWN   0

Definition at line 510 of file klconfig.h.

#define KLSTRUCT_UNUSED   20 /* XXX UNUSED */

Definition at line 530 of file klconfig.h.

#define KLSTRUCT_VME   8

Definition at line 518 of file klconfig.h.

#define KLSTRUCT_XBOW   4

Definition at line 514 of file klconfig.h.

#define KLSTRUCT_XTHD   31

Definition at line 545 of file klconfig.h.

#define KLTYPE (   _x)    ((_x) & KLTYPE_MASK)

Definition at line 400 of file klconfig.h.

#define KLTYPE_4CHSCSI   (KLCLASS_IO | 0x2)

Definition at line 352 of file klconfig.h.

#define KLTYPE_BASEIO   (KLCLASS_IO | 0x1) /* IOC3, SuperIO, Bridge, SCSI */

Definition at line 350 of file klconfig.h.

#define KLTYPE_EMPTY   0x00

Definition at line 344 of file klconfig.h.

#define KLTYPE_ETHERNET   (KLCLASS_IO | 0x3)

Definition at line 354 of file klconfig.h.

#define KLTYPE_FC   (KLCLASS_IO | 0x9)

Definition at line 362 of file klconfig.h.

#define KLTYPE_FDDI   (KLCLASS_IO | 0x4)

Definition at line 356 of file klconfig.h.

#define KLTYPE_GFX   (KLCLASS_GFX | 0x0) /* unknown graphics type */

Definition at line 368 of file klconfig.h.

#define KLTYPE_GFX_KONA   (KLCLASS_GFX | 0x1) /* KONA graphics on IP27 */

Definition at line 369 of file klconfig.h.

#define KLTYPE_GFX_MGRA   (KLCLASS_GFX | 0x3) /* MGRAS graphics on IP27 */

Definition at line 370 of file klconfig.h.

#define KLTYPE_GSN_A   (KLCLASS_IO | 0xC) /* Main GSN board */

Definition at line 365 of file klconfig.h.

#define KLTYPE_GSN_B   (KLCLASS_IO | 0xD) /* Auxiliary GSN board */

Definition at line 366 of file klconfig.h.

#define KLTYPE_HAROLD   (KLCLASS_IO | 0x6) /* PCI SHOE BOX */

Definition at line 358 of file klconfig.h.

#define KLTYPE_IBRICK   (KLCLASS_IOBRICK | 0x1)

Definition at line 384 of file klconfig.h.

#define KLTYPE_IO6   KLTYPE_BASEIO /* Additional name */

Definition at line 351 of file klconfig.h.

#define KLTYPE_IOBRICK   (KLCLASS_IOBRICK | 0x0)

Definition at line 383 of file klconfig.h.

#define KLTYPE_IP27   (KLCLASS_CPU | 0x1) /* 2 CPUs(R10K) per board */

Definition at line 347 of file klconfig.h.

#define KLTYPE_LINC   (KLCLASS_IO | 0xA)

Definition at line 363 of file klconfig.h.

#define KLTYPE_MASK   0x0f

Definition at line 342 of file klconfig.h.

#define KLTYPE_MAX   10 /* Bump this if a new CLASS is added */

Definition at line 332 of file klconfig.h.

#define KLTYPE_MENET   KLTYPE_ETHERNET /* Additional name */

Definition at line 355 of file klconfig.h.

#define KLTYPE_META_ROUTER   (KLCLASS_ROUTER | 0x3)

Definition at line 376 of file klconfig.h.

#define KLTYPE_MIDPLANE   KLTYPE_MIDPLANE8

Definition at line 380 of file klconfig.h.

#define KLTYPE_MIDPLANE8   (KLCLASS_MIDPLANE | 0x1) /* 8 slot backplane */

Definition at line 379 of file klconfig.h.

#define KLTYPE_MIO   (KLCLASS_IO | 0x8)

Definition at line 361 of file klconfig.h.

#define KLTYPE_MSCSI   KLTYPE_4CHSCSI /* Additional name */

Definition at line 353 of file klconfig.h.

#define KLTYPE_NONE   0x00

Definition at line 343 of file klconfig.h.

#define KLTYPE_NULL_ROUTER   (KLCLASS_ROUTER | 0x2)

Definition at line 375 of file klconfig.h.

#define KLTYPE_PBRICK   (KLCLASS_IOBRICK | 0x2)

Definition at line 385 of file klconfig.h.

#define KLTYPE_PBRICK_BRIDGE   KLTYPE_PBRICK

Definition at line 388 of file klconfig.h.

#define KLTYPE_PBRICK_XBOW   (KLCLASS_MIDPLANE | 0x2)

Definition at line 381 of file klconfig.h.

#define KLTYPE_PCI   KLTYPE_HAROLD

Definition at line 359 of file klconfig.h.

#define KLTYPE_ROUTER   (KLCLASS_ROUTER | 0x1)

Definition at line 373 of file klconfig.h.

#define KLTYPE_ROUTER2   KLTYPE_ROUTER /* Obsolete! */

Definition at line 374 of file klconfig.h.

#define KLTYPE_TPU   (KLCLASS_IO | 0xB) /* Tensor Processing Unit */

Definition at line 364 of file klconfig.h.

#define KLTYPE_UNKNOWN   (KLCLASS_UNKNOWN | 0xf)

Definition at line 398 of file klconfig.h.

#define KLTYPE_UNUSED   (KLCLASS_IO | 0x5) /* XXX UNUSED */

Definition at line 357 of file klconfig.h.

#define KLTYPE_VME   (KLCLASS_IO | 0x7) /* Any 3rd party VME card */

Definition at line 360 of file klconfig.h.

#define KLTYPE_WEIRDCPU   (KLCLASS_CPU | 0x0)

Definition at line 346 of file klconfig.h.

#define KLTYPE_WEIRDIO   (KLCLASS_IO | 0x0)

Definition at line 349 of file klconfig.h.

#define KLTYPE_WEIRDMIDPLANE   (KLCLASS_MIDPLANE | 0x0)

Definition at line 378 of file klconfig.h.

#define KLTYPE_WEIRDROUTER   (KLCLASS_ROUTER | 0x0)

Definition at line 372 of file klconfig.h.

#define KLTYPE_XBRICK   (KLCLASS_IOBRICK | 0x3)

Definition at line 386 of file klconfig.h.

#define KLTYPE_XTHD   (KLCLASS_PSEUDO_GFX | 0x9)

Definition at line 396 of file klconfig.h.

#define LBOARD_STRUCT_VERSION   2

Definition at line 414 of file klconfig.h.

#define LOCAL_BOARD   1

Definition at line 411 of file klconfig.h.

#define LOCAL_MASTER_IO6   0x10 /* master io6 for that node */

Definition at line 93 of file klconfig.h.

#define MAX_COMPTS_PER_BRD   24

Definition at line 409 of file klconfig.h.

#define MAX_FDDI_DEVS   10 /* XXX Is this true */

Definition at line 797 of file klconfig.h.

#define MAX_IOC3_TTY   2

Definition at line 678 of file klconfig.h.

#define MAX_MODULE_ID   255

Definition at line 73 of file klconfig.h.

#define MAX_PCI_DEVS   8

Definition at line 83 of file klconfig.h.

#define MAX_PCI_SLOTS   8

Definition at line 660 of file klconfig.h.

#define MAX_RSV_PTRS   32

Definition at line 111 of file klconfig.h.

#define MAX_SCSI_DEVS   16

Definition at line 756 of file klconfig.h.

#define MAX_SERIAL_NUM_SIZE   10

Definition at line 633 of file klconfig.h.

#define MAX_SLOTS_PER_NODE   (1 + 2 + 6 + 2)

Definition at line 79 of file klconfig.h.

#define MAX_VME_SLOTS   8

Definition at line 691 of file klconfig.h.

#define MAX_XBOW_LINKS   16

Definition at line 651 of file klconfig.h.

#define MEMBNK_PREMIUM   1

Definition at line 629 of file klconfig.h.

#define MEMORY_STRUCT_VERSION   2

Definition at line 615 of file klconfig.h.

#define MIDPLANE_XBOW_INDEX   0

Definition at line 561 of file klconfig.h.

#define PCI_PER_BRI   8

Definition at line 865 of file klconfig.h.

#define PTR_CH_CONS_INFO (   _k)
Value:
((console_t *)\
((unsigned long)_k + (_k->ch_cons_off)))

Definition at line 184 of file klconfig.h.

#define PTR_CH_MALLOC_HDR (   _k)
Value:
((unsigned long)_k + (_k->ch_malloc_hdr_off)))

Definition at line 179 of file klconfig.h.

#define REMOTE_BOARD   2

Definition at line 412 of file klconfig.h.

#define ROUTER_COMPONENT_INDEX   0

Definition at line 562 of file klconfig.h.

#define ROUTER_VECTOR_VERS   2

Definition at line 705 of file klconfig.h.

#define SECOND_NIC_PRESENT   0x80 /* addons like MIO are present */

Definition at line 96 of file klconfig.h.

#define SIZE_PAD   4096 /* 4k padding for structures */

Definition at line 74 of file klconfig.h.

#define SN0_PORT_FENCE_MASK   (1 << SN0_PORT_FENCE_SHFT)

Definition at line 214 of file klconfig.h.

#define SN0_PORT_FENCE_SHFT   0

Definition at line 213 of file klconfig.h.

#define THIRD_NIC_PRESENT   0x40 /* for future use */

Definition at line 95 of file klconfig.h.

#define VDS_2ND_IO4   0x02 /* Boot from the second IO4 */

Definition at line 879 of file klconfig.h.

#define VDS_DEBUG_PROM   0x01 /* Print PROM debugging messages */

Definition at line 880 of file klconfig.h.

#define VDS_DEFAULTS   0x08 /* Use default environment values */

Definition at line 877 of file klconfig.h.

#define VDS_MANUMODE   0x80 /* Manufacturing mode */

Definition at line 873 of file klconfig.h.

#define VDS_NO_DIAGS   0x10 /* Don't run any diags after BM arb */

Definition at line 876 of file klconfig.h.

#define VDS_NOARB   0x40 /* No bootmaster arbitration */

Definition at line 874 of file klconfig.h.

#define VDS_NOGFX   0x8000 /* Don't enable gfx and autoboot */

Definition at line 871 of file klconfig.h.

#define VDS_NOMEMCLEAR   0x04 /* Don't run mem cfg code */

Definition at line 878 of file klconfig.h.

#define VDS_NOMP   0x100 /* Don't start slave processors */

Definition at line 872 of file klconfig.h.

#define VDS_PODMODE   0x20 /* Go straight to POD mode */

Definition at line 875 of file klconfig.h.

#define VISITED_BOARD   0x08 /* Used for compact hub numbering. */

Definition at line 92 of file klconfig.h.

#define XBOW_PORT_ENABLE   0x4

Definition at line 211 of file klconfig.h.

#define XBOW_PORT_HUB   0x2

Definition at line 210 of file klconfig.h.

#define XBOW_PORT_IO   0x1

Definition at line 209 of file klconfig.h.

#define XBOW_PORT_IS_ENABLED (   _xbowp,
  _link 
)    ((_xbowp)->xbow_port_info[(_link) - BASE_XBOW_PORT].port_flag & XBOW_PORT_ENABLE)

Definition at line 204 of file klconfig.h.

#define XBOW_PORT_NASID (   _xbowp,
  _link 
)    ((_xbowp)->xbow_port_info[(_link) - BASE_XBOW_PORT].port_nasid)

Definition at line 206 of file klconfig.h.

#define XBOW_PORT_TYPE_HUB (   _xbowp,
  _link 
)    ((_xbowp)->xbow_port_info[(_link) - BASE_XBOW_PORT].port_flag & XBOW_PORT_HUB)

Definition at line 199 of file klconfig.h.

#define XBOW_PORT_TYPE_IO (   _xbowp,
  _link 
)    ((_xbowp)->xbow_port_info[(_link) - BASE_XBOW_PORT].port_flag & XBOW_PORT_IO)

Definition at line 201 of file klconfig.h.

Typedef Documentation

typedef u64* fddi_t

Definition at line 571 of file klconfig.h.

typedef u64* graphics_t

Definition at line 574 of file klconfig.h.

typedef union klcomp_s klcomp_t
typedef s32 klconf_off_t

Definition at line 68 of file klconfig.h.

typedef union kldev_s kldev_t
typedef u64* mio_t

Definition at line 573 of file klconfig.h.

typedef u64 nic_t

Definition at line 64 of file klconfig.h.

typedef u64* pci_t

Definition at line 568 of file klconfig.h.

typedef u64* router_t

Definition at line 575 of file klconfig.h.

typedef u64* scsi_t

Definition at line 572 of file klconfig.h.

typedef u64* vmeb_t

Definition at line 569 of file klconfig.h.

typedef u64* vmed_t

Definition at line 570 of file klconfig.h.

Function Documentation

klinfo_t* find_component ( lboard_t brd,
klinfo_t kli,
unsigned char  type 
)

Definition at line 18 of file ip27-klconfig.c.

klinfo_t* find_first_component ( lboard_t brd,
unsigned char  type 
)

Definition at line 46 of file ip27-klconfig.c.

lboard_t* find_lboard ( lboard_t start,
unsigned char  type 
)

Definition at line 51 of file ip27-klconfig.c.

lboard_t* find_lboard_class ( lboard_t start,
unsigned char  brd_class 
)

Definition at line 63 of file ip27-klconfig.c.

klcpu_t* nasid_slice_to_cpuinfo ( nasid_t  ,
int   
)

Definition at line 81 of file ip27-klconfig.c.

klcpu_t* sn_get_cpuinfo ( cpuid_t  cpu)

Definition at line 100 of file ip27-klconfig.c.