* Copyright 2013, JΓ©rΓ΄me Duval, korli@users.berlios.de.
* Copyright 2010, Michael Lotz, mmlr@mlotz.ch. All Rights Reserved.
* Distributed under the terms of the MIT License.
*/
#ifndef _PCI_x86_MSI_H
#define _PCI_x86_MSI_H
#include <OS.h>
#include <SupportDefs.h>
typedef struct msi_info {
bool msi_capable;
uint8 capability_offset;
uint32 message_count;
uint32 configured_count;
uint32 start_vector;
uint16 control_value;
uint32 data_value;
uint64 address_value;
} msi_info;
typedef struct msix_info {
bool msix_capable;
uint8 capability_offset;
uint32 message_count;
uint8 table_bar;
uint32 table_offset;
area_id table_area_id;
addr_t table_address;
uint8 pba_bar;
uint32 pba_offset;
area_id pba_area_id;
addr_t pba_address;
uint32 configured_count;
uint32 start_vector;
uint16 control_value;
uint32 data_value;
uint64 address_value;
} msix_info;
typedef struct ht_mapping_info {
bool ht_mapping_capable;
uint8 capability_offset;
uint16 control_value;
uint64 address_value;
} ht_mapping_info;
#endif