15df6d737SAbhijeet Joglekar /*
25df6d737SAbhijeet Joglekar  * Copyright 2008 Cisco Systems, Inc.  All rights reserved.
35df6d737SAbhijeet Joglekar  * Copyright 2007 Nuova Systems, Inc.  All rights reserved.
45df6d737SAbhijeet Joglekar  *
55df6d737SAbhijeet Joglekar  * This program is free software; you may redistribute it and/or modify
65df6d737SAbhijeet Joglekar  * it under the terms of the GNU General Public License as published by
75df6d737SAbhijeet Joglekar  * the Free Software Foundation; version 2 of the License.
85df6d737SAbhijeet Joglekar  *
95df6d737SAbhijeet Joglekar  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
105df6d737SAbhijeet Joglekar  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
115df6d737SAbhijeet Joglekar  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
125df6d737SAbhijeet Joglekar  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
135df6d737SAbhijeet Joglekar  * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
145df6d737SAbhijeet Joglekar  * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
155df6d737SAbhijeet Joglekar  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
165df6d737SAbhijeet Joglekar  * SOFTWARE.
175df6d737SAbhijeet Joglekar  */
185df6d737SAbhijeet Joglekar #ifndef _VNIC_RESOURCE_H_
195df6d737SAbhijeet Joglekar #define _VNIC_RESOURCE_H_
205df6d737SAbhijeet Joglekar 
215df6d737SAbhijeet Joglekar #define VNIC_RES_MAGIC		0x766E6963L	/* 'vnic' */
225df6d737SAbhijeet Joglekar #define VNIC_RES_VERSION	0x00000000L
235df6d737SAbhijeet Joglekar 
245df6d737SAbhijeet Joglekar /* vNIC resource types */
255df6d737SAbhijeet Joglekar enum vnic_res_type {
265df6d737SAbhijeet Joglekar 	RES_TYPE_EOL,			/* End-of-list */
275df6d737SAbhijeet Joglekar 	RES_TYPE_WQ,			/* Work queues */
285df6d737SAbhijeet Joglekar 	RES_TYPE_RQ,			/* Receive queues */
295df6d737SAbhijeet Joglekar 	RES_TYPE_CQ,			/* Completion queues */
305df6d737SAbhijeet Joglekar 	RES_TYPE_RSVD1,
315df6d737SAbhijeet Joglekar 	RES_TYPE_NIC_CFG,		/* Enet NIC config registers */
325df6d737SAbhijeet Joglekar 	RES_TYPE_RSVD2,
335df6d737SAbhijeet Joglekar 	RES_TYPE_RSVD3,
345df6d737SAbhijeet Joglekar 	RES_TYPE_RSVD4,
355df6d737SAbhijeet Joglekar 	RES_TYPE_RSVD5,
365df6d737SAbhijeet Joglekar 	RES_TYPE_INTR_CTRL,		/* Interrupt ctrl table */
375df6d737SAbhijeet Joglekar 	RES_TYPE_INTR_TABLE,		/* MSI/MSI-X Interrupt table */
385df6d737SAbhijeet Joglekar 	RES_TYPE_INTR_PBA,		/* MSI/MSI-X PBA table */
395df6d737SAbhijeet Joglekar 	RES_TYPE_INTR_PBA_LEGACY,	/* Legacy intr status */
405df6d737SAbhijeet Joglekar 	RES_TYPE_RSVD6,
415df6d737SAbhijeet Joglekar 	RES_TYPE_RSVD7,
425df6d737SAbhijeet Joglekar 	RES_TYPE_DEVCMD,		/* Device command region */
435df6d737SAbhijeet Joglekar 	RES_TYPE_PASS_THRU_PAGE,	/* Pass-thru page */
445df6d737SAbhijeet Joglekar 
455df6d737SAbhijeet Joglekar 	RES_TYPE_MAX,			/* Count of resource types */
465df6d737SAbhijeet Joglekar };
475df6d737SAbhijeet Joglekar 
485df6d737SAbhijeet Joglekar struct vnic_resource_header {
495df6d737SAbhijeet Joglekar 	u32 magic;
505df6d737SAbhijeet Joglekar 	u32 version;
515df6d737SAbhijeet Joglekar };
525df6d737SAbhijeet Joglekar 
535df6d737SAbhijeet Joglekar struct vnic_resource {
545df6d737SAbhijeet Joglekar 	u8 type;
555df6d737SAbhijeet Joglekar 	u8 bar;
565df6d737SAbhijeet Joglekar 	u8 pad[2];
575df6d737SAbhijeet Joglekar 	u32 bar_offset;
585df6d737SAbhijeet Joglekar 	u32 count;
595df6d737SAbhijeet Joglekar };
605df6d737SAbhijeet Joglekar 
615df6d737SAbhijeet Joglekar #endif /* _VNIC_RESOURCE_H_ */
62