POK
|
00001 /* 00002 * POK header 00003 * 00004 * The following file is a part of the POK project. Any modification should 00005 * made according to the POK licence. You CANNOT use this file or a part of 00006 * this file is this part of a file for your own project 00007 * 00008 * For more information on the POK licence, please see our LICENCE FILE 00009 * 00010 * Please follow the coding guidelines described in doc/CODING_GUIDELINES 00011 * 00012 * Copyright (c) 2007-2009 POK team 00013 * 00014 * Created by laurent on Mon Jun 08 11:14:44 2009 00015 */ 00016 00017 #ifdef POK_NEEDS_PCI 00018 00019 # ifndef __POK_x86_PCI_H__ 00020 # define __POK_X86_PCI_H__ 00021 00022 # include <types.h> 00023 # include <core/syscall.h> 00024 00025 /* 00026 * Structure to holds some device information 00027 */ 00028 typedef struct 00029 { 00030 uint16_t bus; 00031 uint16_t dev; 00032 uint16_t fun; 00033 uint16_t vendorid; 00034 uint16_t deviceid; 00035 uint16_t irq_line; 00036 uint16_t io_range; 00037 uint32_t bar[6]; 00038 uint32_t addr; 00039 void* irq_handler; 00040 } s_pci_device; 00041 00042 pok_ret_t pci_register(s_pci_device* dev); 00043 00044 # endif /* __POK_X86_PCI_H__ */ 00045 00046 #endif /* POK_NEEDS_PCI */