1*7c8c0b82SPatrick Mooney /* 2*7c8c0b82SPatrick Mooney * This file and its contents are supplied under the terms of the 3*7c8c0b82SPatrick Mooney * Common Development and Distribution License ("CDDL"), version 1.0. 4*7c8c0b82SPatrick Mooney * You may only use this file in accordance with the terms of version 5*7c8c0b82SPatrick Mooney * 1.0 of the CDDL. 6*7c8c0b82SPatrick Mooney * 7*7c8c0b82SPatrick Mooney * A full copy of the text of the CDDL should have accompanied this 8*7c8c0b82SPatrick Mooney * source. A copy of the CDDL is also available via the Internet at 9*7c8c0b82SPatrick Mooney * http://www.illumos.org/license/CDDL. 10*7c8c0b82SPatrick Mooney */ 11*7c8c0b82SPatrick Mooney /* This file is dual-licensed; see usr/src/contrib/bhyve/LICENSE */ 12*7c8c0b82SPatrick Mooney 13*7c8c0b82SPatrick Mooney /* 14*7c8c0b82SPatrick Mooney * Copyright 2018 Joyent, Inc 15*7c8c0b82SPatrick Mooney */ 16*7c8c0b82SPatrick Mooney 17*7c8c0b82SPatrick Mooney #ifndef _PPT_DEV_H 18*7c8c0b82SPatrick Mooney #define _PPT_DEV_H 19*7c8c0b82SPatrick Mooney 20*7c8c0b82SPatrick Mooney #ifdef __cplusplus 21*7c8c0b82SPatrick Mooney extern "C" { 22*7c8c0b82SPatrick Mooney #endif 23*7c8c0b82SPatrick Mooney 24*7c8c0b82SPatrick Mooney #define PPT_IOC (('P' << 16)|('T' << 8)) 25*7c8c0b82SPatrick Mooney 26*7c8c0b82SPatrick Mooney #define PPT_CFG_READ (PPT_IOC | 0x01) 27*7c8c0b82SPatrick Mooney #define PPT_CFG_WRITE (PPT_IOC | 0x02) 28*7c8c0b82SPatrick Mooney #define PPT_BAR_QUERY (PPT_IOC | 0x03) 29*7c8c0b82SPatrick Mooney #define PPT_BAR_READ (PPT_IOC | 0x04) 30*7c8c0b82SPatrick Mooney #define PPT_BAR_WRITE (PPT_IOC | 0x05) 31*7c8c0b82SPatrick Mooney 32*7c8c0b82SPatrick Mooney #define PPT_MAXNAMELEN 32 33*7c8c0b82SPatrick Mooney 34*7c8c0b82SPatrick Mooney struct ppt_cfg_io { 35*7c8c0b82SPatrick Mooney uint64_t pci_off; 36*7c8c0b82SPatrick Mooney uint32_t pci_width; 37*7c8c0b82SPatrick Mooney uint32_t pci_data; 38*7c8c0b82SPatrick Mooney }; 39*7c8c0b82SPatrick Mooney struct ppt_bar_io { 40*7c8c0b82SPatrick Mooney uint32_t pbi_bar; 41*7c8c0b82SPatrick Mooney uint32_t pbi_off; 42*7c8c0b82SPatrick Mooney uint32_t pbi_width; 43*7c8c0b82SPatrick Mooney uint32_t pbi_data; 44*7c8c0b82SPatrick Mooney }; 45*7c8c0b82SPatrick Mooney 46*7c8c0b82SPatrick Mooney struct ppt_bar_query { 47*7c8c0b82SPatrick Mooney uint32_t pbq_baridx; 48*7c8c0b82SPatrick Mooney uint32_t pbq_type; 49*7c8c0b82SPatrick Mooney uint64_t pbq_base; 50*7c8c0b82SPatrick Mooney uint64_t pbq_size; 51*7c8c0b82SPatrick Mooney }; 52*7c8c0b82SPatrick Mooney 53*7c8c0b82SPatrick Mooney #ifdef __cplusplus 54*7c8c0b82SPatrick Mooney } 55*7c8c0b82SPatrick Mooney #endif 56*7c8c0b82SPatrick Mooney 57*7c8c0b82SPatrick Mooney #endif /* _PPT_DEV_H */ 58