xref: /onnv-gate/usr/src/uts/common/io/ntxn/unm_brdcfg.h (revision 8687:5dca9cd6354a)
17956Sxiuyan.wang@Sun.COM /*
27956Sxiuyan.wang@Sun.COM  * CDDL HEADER START
37956Sxiuyan.wang@Sun.COM  *
47956Sxiuyan.wang@Sun.COM  * The contents of this file are subject to the terms of the
57956Sxiuyan.wang@Sun.COM  * Common Development and Distribution License (the "License").
67956Sxiuyan.wang@Sun.COM  * You may not use this file except in compliance with the License.
77956Sxiuyan.wang@Sun.COM  *
87956Sxiuyan.wang@Sun.COM  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
97956Sxiuyan.wang@Sun.COM  * or http://www.opensolaris.org/os/licensing.
107956Sxiuyan.wang@Sun.COM  * See the License for the specific language governing permissions
117956Sxiuyan.wang@Sun.COM  * and limitations under the License.
127956Sxiuyan.wang@Sun.COM  *
137956Sxiuyan.wang@Sun.COM  * When distributing Covered Code, include this CDDL HEADER in each
147956Sxiuyan.wang@Sun.COM  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
157956Sxiuyan.wang@Sun.COM  * If applicable, add the following below this CDDL HEADER, with the
167956Sxiuyan.wang@Sun.COM  * fields enclosed by brackets "[]" replaced with your own identifying
177956Sxiuyan.wang@Sun.COM  * information: Portions Copyright [yyyy] [name of copyright owner]
187956Sxiuyan.wang@Sun.COM  *
197956Sxiuyan.wang@Sun.COM  * CDDL HEADER END
207956Sxiuyan.wang@Sun.COM  */
21*8687SJing.Xiong@Sun.COM 
227956Sxiuyan.wang@Sun.COM /*
237956Sxiuyan.wang@Sun.COM  * Copyright 2008 NetXen, Inc.  All rights reserved.
247956Sxiuyan.wang@Sun.COM  * Use is subject to license terms.
257956Sxiuyan.wang@Sun.COM  */
26*8687SJing.Xiong@Sun.COM 
27*8687SJing.Xiong@Sun.COM #ifndef _UNM_BRDINFO_H_
28*8687SJing.Xiong@Sun.COM #define	_UNM_BRDINFO_H_
29*8687SJing.Xiong@Sun.COM 
30*8687SJing.Xiong@Sun.COM #ifdef __cplusplus
31*8687SJing.Xiong@Sun.COM extern "C" {
32*8687SJing.Xiong@Sun.COM #endif
337956Sxiuyan.wang@Sun.COM 
347956Sxiuyan.wang@Sun.COM /* The version of the main data structure */
357956Sxiuyan.wang@Sun.COM #define	UNM_BDINFO_VERSION 1
367956Sxiuyan.wang@Sun.COM 
377956Sxiuyan.wang@Sun.COM /* Magic number to let user know flash is programmed */
387956Sxiuyan.wang@Sun.COM #define	UNM_BDINFO_MAGIC 0x12345678
397956Sxiuyan.wang@Sun.COM 
407956Sxiuyan.wang@Sun.COM #define	P2_CHIP 2
417956Sxiuyan.wang@Sun.COM #define	P3_CHIP 3
427956Sxiuyan.wang@Sun.COM #define	NX_P2_C0		0x24
437956Sxiuyan.wang@Sun.COM #define	NX_P2_C1		0x25
447956Sxiuyan.wang@Sun.COM #define	NX_P3_A0		0x30
457956Sxiuyan.wang@Sun.COM #define	NX_P3_A2		0x32
467956Sxiuyan.wang@Sun.COM #define	NX_P3_B0		0x40
477956Sxiuyan.wang@Sun.COM #define	NX_P3_B1		0x41
487956Sxiuyan.wang@Sun.COM #define	NX_P3_B2		0x42
497956Sxiuyan.wang@Sun.COM 
507956Sxiuyan.wang@Sun.COM #define	NX_IS_REVISION_P2(REVISION)	(REVISION <= NX_P2_C1)
517956Sxiuyan.wang@Sun.COM #define	NX_IS_REVISION_P3(REVISION)	(REVISION >= NX_P3_A0)
527956Sxiuyan.wang@Sun.COM 
537956Sxiuyan.wang@Sun.COM typedef enum {
547956Sxiuyan.wang@Sun.COM     UNM_BRDTYPE_P1_BD   = 0x0000,
557956Sxiuyan.wang@Sun.COM     UNM_BRDTYPE_P1_SB   = 0x0001,
567956Sxiuyan.wang@Sun.COM     UNM_BRDTYPE_P1_SMAX = 0x0002,
577956Sxiuyan.wang@Sun.COM     UNM_BRDTYPE_P1_SOCK = 0x0003,
587956Sxiuyan.wang@Sun.COM 
597956Sxiuyan.wang@Sun.COM     UNM_BRDTYPE_P2_SOCK_31  =  0x0008,
607956Sxiuyan.wang@Sun.COM     UNM_BRDTYPE_P2_SOCK_35  =  0x0009,
617956Sxiuyan.wang@Sun.COM     UNM_BRDTYPE_P2_SB35_4G  =  0x000a,
627956Sxiuyan.wang@Sun.COM     UNM_BRDTYPE_P2_SB31_10G =  0x000b,
637956Sxiuyan.wang@Sun.COM     UNM_BRDTYPE_P2_SB31_2G  =  0x000c,
647956Sxiuyan.wang@Sun.COM 
657956Sxiuyan.wang@Sun.COM     UNM_BRDTYPE_P2_SB31_10G_IMEZ =  0x000d,
667956Sxiuyan.wang@Sun.COM     UNM_BRDTYPE_P2_SB31_10G_HMEZ =  0x000e,
677956Sxiuyan.wang@Sun.COM     UNM_BRDTYPE_P2_SB31_10G_CX4  =  0x000f,
687956Sxiuyan.wang@Sun.COM 
697956Sxiuyan.wang@Sun.COM 	/* Reference quad gig */
707956Sxiuyan.wang@Sun.COM 	UNM_BRDTYPE_P3_REF_QG		=	0x0021,
717956Sxiuyan.wang@Sun.COM 	UNM_BRDTYPE_P3_HMEZ			=	0x0022,
727956Sxiuyan.wang@Sun.COM 	/* Dual CX4 - Low Profile - Red card */
737956Sxiuyan.wang@Sun.COM 	UNM_BRDTYPE_P3_10G_CX4_LP	=  0x0023,
747956Sxiuyan.wang@Sun.COM 	UNM_BRDTYPE_P3_4_GB			=	0x0024,
757956Sxiuyan.wang@Sun.COM 	UNM_BRDTYPE_P3_IMEZ			=	0x0025,
767956Sxiuyan.wang@Sun.COM 	UNM_BRDTYPE_P3_10G_SFP_PLUS	=	0x0026,
777956Sxiuyan.wang@Sun.COM 	UNM_BRDTYPE_P3_10000_BASE_T	=	0x0027,
787956Sxiuyan.wang@Sun.COM 	UNM_BRDTYPE_P3_XG_LOM		=	0x0028,
797956Sxiuyan.wang@Sun.COM 
807956Sxiuyan.wang@Sun.COM 	UNM_BRDTYPE_P3_4_GB_MM		=	0x0029,
817956Sxiuyan.wang@Sun.COM 	UNM_BRDTYPE_P3_10G_CX4		=	0x0031, /* Reference CX4 */
827956Sxiuyan.wang@Sun.COM 	UNM_BRDTYPE_P3_10G_XFP		=	0x0032, /* Reference XFP */
837956Sxiuyan.wang@Sun.COM 
84*8687SJing.Xiong@Sun.COM     UNM_BRDTYPE_P3_10G_TRP	 =  0x0080
857956Sxiuyan.wang@Sun.COM 
867956Sxiuyan.wang@Sun.COM } unm_brdtype_t;
877956Sxiuyan.wang@Sun.COM 
887956Sxiuyan.wang@Sun.COM typedef enum {
897956Sxiuyan.wang@Sun.COM 	NX_UNKNOWN_TYPE_ROMIMAGE = 0,
907956Sxiuyan.wang@Sun.COM 	NX_P2_MN_TYPE_ROMIMAGE = 1,
917956Sxiuyan.wang@Sun.COM 	NX_P3_CT_TYPE_ROMIMAGE,
927956Sxiuyan.wang@Sun.COM 	NX_P3_MN_TYPE_ROMIMAGE,
937956Sxiuyan.wang@Sun.COM 	NX_P3_MS_TYPE_ROMIMAGE,
94*8687SJing.Xiong@Sun.COM 	NX_UNKNOWN_TYPE_ROMIMAGE_LAST
957956Sxiuyan.wang@Sun.COM } nx_fw_type_t;
967956Sxiuyan.wang@Sun.COM 
977956Sxiuyan.wang@Sun.COM /* board type specific information */
987956Sxiuyan.wang@Sun.COM typedef struct {
997956Sxiuyan.wang@Sun.COM 	unm_brdtype_t	brdtype; /* type of board */
1007956Sxiuyan.wang@Sun.COM 	long			ports; /* max no of physical ports */
1017956Sxiuyan.wang@Sun.COM 	nx_fw_type_t	fwtype; /* The FW Associated with board type */
1027956Sxiuyan.wang@Sun.COM 	char			*short_name;
1037956Sxiuyan.wang@Sun.COM } unm_brdinfo_t;
1047956Sxiuyan.wang@Sun.COM 
1057956Sxiuyan.wang@Sun.COM #define	NUM_SUPPORTED_BOARDS (sizeof (unm_boards)/sizeof (unm_brdinfo_t))
1067956Sxiuyan.wang@Sun.COM 
1077956Sxiuyan.wang@Sun.COM #define	GET_BRD_NAME_BY_TYPE(type, name)            \
1087956Sxiuyan.wang@Sun.COM {                                                   \
1097956Sxiuyan.wang@Sun.COM 	int i, found = 0;                               \
1107956Sxiuyan.wang@Sun.COM 	for (i = 0; i < NUM_SUPPORTED_BOARDS; ++i) {    \
1117956Sxiuyan.wang@Sun.COM 		if (unm_boards[i].brdtype == type) {        \
1127956Sxiuyan.wang@Sun.COM 			name = unm_boards[i].short_name;        \
1137956Sxiuyan.wang@Sun.COM 			found = 1;                              \
1147956Sxiuyan.wang@Sun.COM 			break;                                  \
1157956Sxiuyan.wang@Sun.COM 		}                                           \
1167956Sxiuyan.wang@Sun.COM 	}                                               \
1177956Sxiuyan.wang@Sun.COM 	if (!found)                                   \
1187956Sxiuyan.wang@Sun.COM 	name = "Unknown";                           \
1197956Sxiuyan.wang@Sun.COM }
1207956Sxiuyan.wang@Sun.COM 
1217956Sxiuyan.wang@Sun.COM typedef struct {
1227956Sxiuyan.wang@Sun.COM     __uint32_t header_version;
1237956Sxiuyan.wang@Sun.COM 
1247956Sxiuyan.wang@Sun.COM     __uint32_t board_mfg;
1257956Sxiuyan.wang@Sun.COM     __uint32_t board_type;
1267956Sxiuyan.wang@Sun.COM     __uint32_t board_num;
1277956Sxiuyan.wang@Sun.COM     __uint32_t chip_id;
1287956Sxiuyan.wang@Sun.COM     __uint32_t chip_minor;
1297956Sxiuyan.wang@Sun.COM     __uint32_t chip_major;
1307956Sxiuyan.wang@Sun.COM     __uint32_t chip_pkg;
1317956Sxiuyan.wang@Sun.COM     __uint32_t chip_lot;
1327956Sxiuyan.wang@Sun.COM 
1337956Sxiuyan.wang@Sun.COM 
1347956Sxiuyan.wang@Sun.COM 	__uint32_t port_mask; /* available niu ports */
1357956Sxiuyan.wang@Sun.COM 	__uint32_t peg_mask; /* available pegs */
1367956Sxiuyan.wang@Sun.COM 	__uint32_t icache_ok; /* can we run with icache? */
1377956Sxiuyan.wang@Sun.COM 	__uint32_t dcache_ok; /* can we run with dcache? */
1387956Sxiuyan.wang@Sun.COM 	__uint32_t casper_ok;
1397956Sxiuyan.wang@Sun.COM 
1407956Sxiuyan.wang@Sun.COM 	/* unm_eth_addr_t  mac_address[MAX_PORTS]; */
1417956Sxiuyan.wang@Sun.COM     __uint32_t mac_addr_lo_0;
1427956Sxiuyan.wang@Sun.COM     __uint32_t mac_addr_lo_1;
1437956Sxiuyan.wang@Sun.COM     __uint32_t mac_addr_lo_2;
1447956Sxiuyan.wang@Sun.COM     __uint32_t mac_addr_lo_3;
1457956Sxiuyan.wang@Sun.COM 
1467956Sxiuyan.wang@Sun.COM 	/* MN-related config */
1477956Sxiuyan.wang@Sun.COM     __uint32_t mn_sync_mode;    /* enable/ sync shift cclk/ sync shift mclk */
1487956Sxiuyan.wang@Sun.COM     __uint32_t mn_sync_shift_cclk;
1497956Sxiuyan.wang@Sun.COM     __uint32_t mn_sync_shift_mclk;
1507956Sxiuyan.wang@Sun.COM     __uint32_t mn_wb_en;
1517956Sxiuyan.wang@Sun.COM     __uint32_t mn_crystal_freq; /* in MHz */
1527956Sxiuyan.wang@Sun.COM     __uint32_t mn_speed; /* in MHz */
1537956Sxiuyan.wang@Sun.COM     __uint32_t mn_org;
1547956Sxiuyan.wang@Sun.COM     __uint32_t mn_depth;
1557956Sxiuyan.wang@Sun.COM     __uint32_t mn_ranks_0; /* ranks per slot */
1567956Sxiuyan.wang@Sun.COM     __uint32_t mn_ranks_1; /* ranks per slot */
1577956Sxiuyan.wang@Sun.COM     __uint32_t mn_rd_latency_0;
1587956Sxiuyan.wang@Sun.COM     __uint32_t mn_rd_latency_1;
1597956Sxiuyan.wang@Sun.COM     __uint32_t mn_rd_latency_2;
1607956Sxiuyan.wang@Sun.COM     __uint32_t mn_rd_latency_3;
1617956Sxiuyan.wang@Sun.COM     __uint32_t mn_rd_latency_4;
1627956Sxiuyan.wang@Sun.COM     __uint32_t mn_rd_latency_5;
1637956Sxiuyan.wang@Sun.COM     __uint32_t mn_rd_latency_6;
1647956Sxiuyan.wang@Sun.COM     __uint32_t mn_rd_latency_7;
1657956Sxiuyan.wang@Sun.COM     __uint32_t mn_rd_latency_8;
1667956Sxiuyan.wang@Sun.COM     __uint32_t mn_dll_val[18];
1677956Sxiuyan.wang@Sun.COM     __uint32_t mn_mode_reg; /* See MIU DDR Mode Register */
1687956Sxiuyan.wang@Sun.COM     __uint32_t mn_ext_mode_reg; /* See MIU DDR Extended Mode Register */
1697956Sxiuyan.wang@Sun.COM     __uint32_t mn_timing_0; /* See MIU Memory Control Timing Rgister */
1707956Sxiuyan.wang@Sun.COM     __uint32_t mn_timing_1; /* See MIU Extended Memory Ctrl Timing Register */
1717956Sxiuyan.wang@Sun.COM     __uint32_t mn_timing_2; /* See MIU Extended Memory Ctrl Timing2 Register */
1727956Sxiuyan.wang@Sun.COM 
1737956Sxiuyan.wang@Sun.COM 	/* SN-related config */
1747956Sxiuyan.wang@Sun.COM     __uint32_t sn_sync_mode; /* enable/ sync shift cclk / sync shift mclk */
1757956Sxiuyan.wang@Sun.COM     __uint32_t sn_pt_mode; /* pass through mode */
1767956Sxiuyan.wang@Sun.COM     __uint32_t sn_ecc_en;
1777956Sxiuyan.wang@Sun.COM     __uint32_t sn_wb_en;
1787956Sxiuyan.wang@Sun.COM     __uint32_t sn_crystal_freq;
1797956Sxiuyan.wang@Sun.COM     __uint32_t sn_speed;
1807956Sxiuyan.wang@Sun.COM     __uint32_t sn_org;
1817956Sxiuyan.wang@Sun.COM     __uint32_t sn_depth;
1827956Sxiuyan.wang@Sun.COM     __uint32_t sn_dll_tap;
1837956Sxiuyan.wang@Sun.COM     __uint32_t sn_rd_latency;
1847956Sxiuyan.wang@Sun.COM 
1857956Sxiuyan.wang@Sun.COM     __uint32_t mac_addr_hi_0;
1867956Sxiuyan.wang@Sun.COM     __uint32_t mac_addr_hi_1;
1877956Sxiuyan.wang@Sun.COM     __uint32_t mac_addr_hi_2;
1887956Sxiuyan.wang@Sun.COM     __uint32_t mac_addr_hi_3;
1897956Sxiuyan.wang@Sun.COM 
1907956Sxiuyan.wang@Sun.COM     __uint32_t magic; /* indicates flash has been initialized */
1917956Sxiuyan.wang@Sun.COM 
1927956Sxiuyan.wang@Sun.COM     __uint32_t mn_rdimm;
1937956Sxiuyan.wang@Sun.COM     __uint32_t mn_dll_override;
1947956Sxiuyan.wang@Sun.COM     __uint32_t coreclock_speed;
1957956Sxiuyan.wang@Sun.COM }  unm_board_info_t;
1967956Sxiuyan.wang@Sun.COM 
1977956Sxiuyan.wang@Sun.COM #define	FLASH_NUM_PORTS		4
1987956Sxiuyan.wang@Sun.COM 
1997956Sxiuyan.wang@Sun.COM typedef struct {
2007956Sxiuyan.wang@Sun.COM     __uint32_t flash_addr[32];
2017956Sxiuyan.wang@Sun.COM } unm_flash_mac_addr_t;
2027956Sxiuyan.wang@Sun.COM 
2037956Sxiuyan.wang@Sun.COM /* flash user area */
2047956Sxiuyan.wang@Sun.COM typedef struct {
2057956Sxiuyan.wang@Sun.COM     __uint8_t  flash_md5[16];
2067956Sxiuyan.wang@Sun.COM     __uint8_t  crbinit_md5[16];
2077956Sxiuyan.wang@Sun.COM     __uint8_t  brdcfg_md5[16];
2087956Sxiuyan.wang@Sun.COM 	/* bootloader */
2097956Sxiuyan.wang@Sun.COM     __uint32_t bootld_version;
2107956Sxiuyan.wang@Sun.COM     __uint32_t bootld_size;
2117956Sxiuyan.wang@Sun.COM     __uint8_t  bootld_md5[16];
2127956Sxiuyan.wang@Sun.COM 	/* image */
2137956Sxiuyan.wang@Sun.COM     __uint32_t image_version;
2147956Sxiuyan.wang@Sun.COM     __uint32_t image_size;
2157956Sxiuyan.wang@Sun.COM     __uint8_t  image_md5[16];
2167956Sxiuyan.wang@Sun.COM 	/* primary image status */
2177956Sxiuyan.wang@Sun.COM     __uint32_t primary_status;
2187956Sxiuyan.wang@Sun.COM     __uint32_t secondary_present;
2197956Sxiuyan.wang@Sun.COM 
2207956Sxiuyan.wang@Sun.COM 	/* MAC address , 4 ports */
2217956Sxiuyan.wang@Sun.COM     unm_flash_mac_addr_t mac_addr[FLASH_NUM_PORTS];
2227956Sxiuyan.wang@Sun.COM 
2237956Sxiuyan.wang@Sun.COM 	/* Any user defined data */
2247956Sxiuyan.wang@Sun.COM } unm_old_user_info_t;
2257956Sxiuyan.wang@Sun.COM 
2267956Sxiuyan.wang@Sun.COM #define	FLASH_NUM_MAC_PER_PORT		32
2277956Sxiuyan.wang@Sun.COM typedef struct {
2287956Sxiuyan.wang@Sun.COM     __uint8_t  flash_md5[16 * 64];
229*8687SJing.Xiong@Sun.COM 	/* __uint8_t  crbinit_md5[16]; */
230*8687SJing.Xiong@Sun.COM 	/* __uint8_t  brdcfg_md5[16]; */
2317956Sxiuyan.wang@Sun.COM 	/* bootloader */
2327956Sxiuyan.wang@Sun.COM     __uint32_t bootld_version;
2337956Sxiuyan.wang@Sun.COM     __uint32_t bootld_size;
234*8687SJing.Xiong@Sun.COM 	/* __uint8_t  bootld_md5[16]; */
2357956Sxiuyan.wang@Sun.COM 	/* image */
2367956Sxiuyan.wang@Sun.COM     __uint32_t image_version;
2377956Sxiuyan.wang@Sun.COM     __uint32_t image_size;
238*8687SJing.Xiong@Sun.COM 	/* U8  image_md5[16]; */
2397956Sxiuyan.wang@Sun.COM 	/* primary image status */
2407956Sxiuyan.wang@Sun.COM     __uint32_t primary_status;
2417956Sxiuyan.wang@Sun.COM     __uint32_t secondary_present;
2427956Sxiuyan.wang@Sun.COM 
2437956Sxiuyan.wang@Sun.COM 	/* MAC address , 4 ports, 32 address per port */
2447956Sxiuyan.wang@Sun.COM     __uint64_t mac_addr[FLASH_NUM_PORTS * FLASH_NUM_MAC_PER_PORT];
2457956Sxiuyan.wang@Sun.COM     __uint32_t sub_sys_id;
2467956Sxiuyan.wang@Sun.COM     __uint8_t  serial_num[32];
2477956Sxiuyan.wang@Sun.COM 	__uint32_t bios_version;
2487956Sxiuyan.wang@Sun.COM     __uint32_t pxe_enable;  /* bitmask, per port */
2497956Sxiuyan.wang@Sun.COM     __uint32_t vlan_tag[FLASH_NUM_PORTS];
2507956Sxiuyan.wang@Sun.COM 
2517956Sxiuyan.wang@Sun.COM 	/* Any user defined data */
2527956Sxiuyan.wang@Sun.COM } unm_user_info_t;
2537956Sxiuyan.wang@Sun.COM 
2547956Sxiuyan.wang@Sun.COM /* Flash memory map */
2557956Sxiuyan.wang@Sun.COM typedef enum {
2567956Sxiuyan.wang@Sun.COM     CRBINIT_START   = 0,		/* Crbinit section */
2577956Sxiuyan.wang@Sun.COM     BRDCFG_START    = 0x4000,	/* board config */
2587956Sxiuyan.wang@Sun.COM     INITCODE_START  = 0x6000,	/* pegtune code */
2597956Sxiuyan.wang@Sun.COM     BOOTLD_START    = 0x10000,	/* bootld */
2607956Sxiuyan.wang@Sun.COM     BOOTLD1_START   = 0x14000,	/* Start of booloader 1 */
2617956Sxiuyan.wang@Sun.COM 	IMAGE_START		= 0x43000,	/* compressed image */
2627956Sxiuyan.wang@Sun.COM     SECONDARY_START = 0x200000,	/* backup images */
2637956Sxiuyan.wang@Sun.COM     PXE_FIRST_STAGE_INTEL = 0x3C0000, /* Intel First Stage info */
2647956Sxiuyan.wang@Sun.COM     PXE_FIRST_STAGE_PPC = 0x3C4000, /* PPC First Stage info */
2657956Sxiuyan.wang@Sun.COM     PXE_SECOND_STAGE_INTEL = 0x3B0000, /* Intel Second Stage info */
2667956Sxiuyan.wang@Sun.COM     PXE_SECOND_STAGE_PPC = 0x3A0000, /* Intel Second Stage info */
267*8687SJing.Xiong@Sun.COM /*    LICENSE_TIME_START = 0x3C0000,  license expiry time info */
2687956Sxiuyan.wang@Sun.COM 	PXE_START		= 0x3D0000,   /* PXE image area */
2697956Sxiuyan.wang@Sun.COM     DEFAULT_DATA_START = 0x3e0000, /* where we place default factory data */
2707956Sxiuyan.wang@Sun.COM 	/* User defined region for new boards */
2717956Sxiuyan.wang@Sun.COM 	USER_START		= 0x3E8000,
2727956Sxiuyan.wang@Sun.COM     VPD_START		= 0x3E8C00,   /* Vendor private data */
2737956Sxiuyan.wang@Sun.COM     LICENSE_START	= 0x3E9000,   /* Firmware License */
2747956Sxiuyan.wang@Sun.COM     FIXED_START		= 0x3F0000    /* backup of crbinit */
2757956Sxiuyan.wang@Sun.COM } unm_flash_map_t;
2767956Sxiuyan.wang@Sun.COM 
2777956Sxiuyan.wang@Sun.COM #define	USER_START_OLD		PXE_START /* for backward compatibility */
2787956Sxiuyan.wang@Sun.COM 
279*8687SJing.Xiong@Sun.COM #ifdef __cplusplus
280*8687SJing.Xiong@Sun.COM }
281*8687SJing.Xiong@Sun.COM #endif
282*8687SJing.Xiong@Sun.COM 
283*8687SJing.Xiong@Sun.COM #endif	/* !_UNM_BRDINFO_H_ */
284