<?xml version='1.0' encoding='UTF-8' standalone='no'?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.16"> <compounddef id="pci_8h" kind="file" language="C++"> <compoundname>pci.h</compoundname> <includes refid="include_2sys_2types_8h" local="no">sys/types.h</includes> <includedby refid="ubixos_2init_8h" local="no">C:/Dev/git/UbixOS/sys/include/ubixos/init.h</includedby> <includedby refid="pci_8c" local="no">C:/Dev/git/UbixOS/sys/pci/pci.c</includedby> <incdepgraph> <node id="4"> <label>sys/select.h</label> <link refid="select_8h"/> <childnode refid="5" relation="include"> </childnode> <childnode refid="3" relation="include"> </childnode> <childnode refid="6" relation="include"> </childnode> <childnode refid="7" relation="include"> </childnode> <childnode refid="8" relation="include"> </childnode> </node> <node id="8"> <label>sys/_sigset.h</label> <link refid="__sigset_8h"/> <childnode refid="3" relation="include"> </childnode> </node> <node id="2"> <label>sys/types.h</label> <link refid="include_2sys_2types_8h"/> <childnode refid="3" relation="include"> </childnode> <childnode refid="4" relation="include"> </childnode> </node> <node id="1"> <label>C:/Dev/git/UbixOS/sys/include/pci/pci.h</label> <link refid="pci_8h"/> <childnode refid="2" relation="include"> </childnode> </node> <node id="5"> <label>sys/cdefs.h</label> <link refid="cdefs_8h"/> </node> <node id="3"> <label>sys/_types.h</label> <link refid="__types_8h"/> </node> <node id="6"> <label>sys/_timespec.h</label> <link refid="__timespec_8h"/> <childnode refid="3" relation="include"> </childnode> </node> <node id="7"> <label>sys/_timeval.h</label> <link refid="__timeval_8h"/> <childnode refid="3" relation="include"> </childnode> </node> </incdepgraph> <invincdepgraph> <node id="3"> <label>C:/Dev/git/UbixOS/sys/init/main.c</label> <link refid="main_8c"/> </node> <node id="1"> <label>C:/Dev/git/UbixOS/sys/include/pci/pci.h</label> <link refid="pci_8h"/> <childnode refid="2" relation="include"> </childnode> <childnode refid="4" relation="include"> </childnode> </node> <node id="4"> <label>C:/Dev/git/UbixOS/sys/pci/pci.c</label> <link refid="pci_8c"/> </node> <node id="2"> <label>C:/Dev/git/UbixOS/sys/include/ubixos/init.h</label> <link refid="ubixos_2init_8h"/> <childnode refid="3" relation="include"> </childnode> </node> </invincdepgraph> <innerclass refid="structconfadd" prot="public">confadd</innerclass> <innerclass refid="structpciConfig" prot="public">pciConfig</innerclass> <sectiondef kind="define"> <memberdef kind="define" id="pci_8h_1a3c5cd622462bb50b6dab4c189e219eb9" prot="public" static="no"> <name>countof</name> <param><defname>a</defname></param> <initializer>(sizeof(a) / sizeof(a[0]))</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="C:/Dev/git/UbixOS/sys/include/pci/pci.h" line="98" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/pci/pci.h" bodystart="98" bodyend="-1"/> </memberdef> </sectiondef> <sectiondef kind="func"> <memberdef kind="function" id="pci_8h_1a5c450b9e2534226b162a16de0ef6b434" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type>int</type> <definition>int pci_init</definition> <argsstring>()</argsstring> <name>pci_init</name> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="C:/Dev/git/UbixOS/sys/include/pci/pci.h" line="100" column="5" bodyfile="C:/Dev/git/UbixOS/sys/pci/pci.c" bodystart="244" bodyend="269" declfile="C:/Dev/git/UbixOS/sys/include/pci/pci.h" declline="100" declcolumn="5"/> <references refid="structpciConfig_1a6ad529c48f62a51cc647c8ce9cc9c609" compoundref="pci_8h" startline="83">pciConfig::bus</references> <references refid="structpciConfig_1a8e9f55ac27f0e6d5869a3a2bd9ffe6bb" compoundref="pci_8h" startline="44">pciConfig::classCode</references> <references refid="pci_8h_1a3c5cd622462bb50b6dab4c189e219eb9" compoundref="pci_8h" startline="98">countof</references> <references refid="structpciConfig_1aa73b7917021ebcf2ec28084faecaf35d" compoundref="pci_8h" startline="84">pciConfig::dev</references> <references refid="structpciConfig_1a175cb9658f47e8b518172f0de510b96c" compoundref="pci_8h" startline="85">pciConfig::func</references> <references refid="structpciConfig_1a9bbbff5574626b54e3a678dc38012a93" compoundref="pci_8h" startline="65">pciConfig::intLine</references> <references refid="structpciConfig_1ab857d16aeaeacd9fa6bf825e296a7d11" compoundref="pci_8h" startline="66">pciConfig::intPin</references> <references refid="kprintf_8h_1a20b56810edb62a6fe59917015c30848f" compoundref="kprintf_8c" startline="259" endline="276">kprintf</references> <references refid="pci_8c_1a8f8f80d37794cde9472343e4487ba3eb" compoundref="pci_8c" startline="37">name</references> <references refid="pci_8c_1a06d7d37b951914590189751cececa69f">pciClasses</references> <references refid="pci_8c_1a9a16d3ca1d4538415b752ab0c58e72ba" compoundref="pci_8c" startline="139" endline="242">pciProbe</references> <references refid="structpciConfig_1afe5a1cf42dff529b250c7ee548ea812d" compoundref="pci_8h" startline="42">pciConfig::progIf</references> <references refid="structpciConfig_1a83a72a5cba21bffe8359bee95d82ac58" compoundref="pci_8h" startline="43">pciConfig::subClass</references> <references refid="structpciConfig_1aa9675635761800feb7a5827c100ef9ae" compoundref="pci_8h" startline="35">pciConfig::vendorID</references> </memberdef> <memberdef kind="function" id="pci_8h_1a9a16d3ca1d4538415b752ab0c58e72ba" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type><ref refid="include_2sys_2types_8h_1a0238af00180b6d9278fa1c6aa790fdf4" kindref="member">uint32_t</ref></type> <definition>uint32_t pciProbe</definition> <argsstring>(int bus, int dev, int func)</argsstring> <name>pciProbe</name> <param> <type>int</type> <declname>bus</declname> </param> <param> <type>int</type> <declname>dev</declname> </param> <param> <type>int</type> <declname>func</declname> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="C:/Dev/git/UbixOS/sys/include/pci/pci.h" line="102" column="10" bodyfile="C:/Dev/git/UbixOS/sys/pci/pci.c" bodystart="139" bodyend="242" declfile="C:/Dev/git/UbixOS/sys/include/pci/pci.h" declline="102" declcolumn="10"/> <references refid="structpciConfig_1a1daad32be860e62df484b3f1f3b72b5e" compoundref="pci_8h" startline="51">pciConfig::bar</references> <references refid="structpciConfig_1a2add335aa360526ac46154e7777f80e6" compoundref="pci_8h" startline="49">pciConfig::bist</references> <references refid="structpciConfig_1a6ad529c48f62a51cc647c8ce9cc9c609" compoundref="pci_8h" startline="83">pciConfig::bus</references> <references refid="structpciConfig_1ab63a65ccdbc9fce15acb5edc3950daeb" compoundref="pci_8h" startline="46">pciConfig::cacheLineSize</references> <references refid="structpciConfig_1a8e9f55ac27f0e6d5869a3a2bd9ffe6bb" compoundref="pci_8h" startline="44">pciConfig::classCode</references> <references refid="structpciConfig_1aec8c642edd27bddd4671e2fbe61df627" compoundref="pci_8h" startline="38">pciConfig::command</references> <references refid="structpciConfig_1aa73b7917021ebcf2ec28084faecaf35d" compoundref="pci_8h" startline="84">pciConfig::dev</references> <references refid="structpciConfig_1a58628534204bc4e05e5f9020ac8350d8" compoundref="pci_8h" startline="36">pciConfig::deviceID</references> <references refid="structpciConfig_1a175cb9658f47e8b518172f0de510b96c" compoundref="pci_8h" startline="85">pciConfig::func</references> <references refid="structpciConfig_1a38752dcd81e2a6d67781100afa24bdf8" compoundref="pci_8h" startline="48">pciConfig::headerType</references> <references refid="structpciConfig_1a9bbbff5574626b54e3a678dc38012a93" compoundref="pci_8h" startline="65">pciConfig::intLine</references> <references refid="structpciConfig_1ab857d16aeaeacd9fa6bf825e296a7d11" compoundref="pci_8h" startline="66">pciConfig::intPin</references> <references refid="kmalloc_8h_1aaa9ed6886459604cf73ccdbf6410e487" compoundref="kmalloc_8c" startline="342" endline="382">kfree</references> <references refid="kmalloc_8h_1a150eab2ac4ce4553e21ca10e7f441762" compoundref="kmalloc_8c" startline="241" endline="331">kmalloc</references> <references refid="kprintf_8h_1a20b56810edb62a6fe59917015c30848f" compoundref="kprintf_8c" startline="259" endline="276">kprintf</references> <references refid="structpciConfig_1a4d9b9cdea220f31faddd3be8e4284a40" compoundref="pci_8h" startline="47">pciConfig::latencyTimer</references> <references refid="string_8h_1ace4b911463887af5e748326323e99a23">memset</references> <references refid="pci_8c_1a09d5fac523ec602b928a2eeb2dc3eee6" compoundref="pci_8c" startline="76" endline="106">pciRead</references> <references refid="pci_8c_1a562e38dfaaab5bd65c08f7ee9769235d" compoundref="pci_8c" startline="108" endline="137">pciWrite</references> <references refid="structpciConfig_1afe5a1cf42dff529b250c7ee548ea812d" compoundref="pci_8h" startline="42">pciConfig::progIf</references> <references refid="structpciConfig_1a96580a28f37b495264305b791c7e2620" compoundref="pci_8h" startline="39">pciConfig::status</references> <references refid="structpciConfig_1a83a72a5cba21bffe8359bee95d82ac58" compoundref="pci_8h" startline="43">pciConfig::subClass</references> <references refid="structpciConfig_1aa9675635761800feb7a5827c100ef9ae" compoundref="pci_8h" startline="35">pciConfig::vendorID</references> <referencedby refid="pci_8c_1a5c450b9e2534226b162a16de0ef6b434" compoundref="pci_8c" startline="244" endline="269">pci_init</referencedby> </memberdef> <memberdef kind="function" id="pci_8h_1a09d5fac523ec602b928a2eeb2dc3eee6" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type><ref refid="objgfx30_8h_1ada085051a6d9a8e00a2cb256d1af14ba" kindref="member">uInt32</ref></type> <definition>uInt32 pciRead</definition> <argsstring>(int bus, int dev, int func, int reg, int bytes)</argsstring> <name>pciRead</name> <param> <type>int</type> <declname>bus</declname> </param> <param> <type>int</type> <declname>dev</declname> </param> <param> <type>int</type> <declname>func</declname> </param> <param> <type>int</type> <declname>reg</declname> </param> <param> <type>int</type> <declname>bytes</declname> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="C:/Dev/git/UbixOS/sys/include/pci/pci.h" line="103" column="8" bodyfile="C:/Dev/git/UbixOS/sys/pci/pci.c" bodystart="76" bodyend="106" declfile="C:/Dev/git/UbixOS/sys/include/pci/pci.h" declline="103" declcolumn="8"/> <references refid="structconfadd_1a183f0168efe559d9bd93c0333c633e87" compoundref="pci_8h" startline="93">confadd::bus</references> <references refid="structconfadd_1a25302013455d0f821a642ca36088082d" compoundref="pci_8h" startline="92">confadd::dev</references> <references refid="structconfadd_1a7e9ccb6d9b97c39e102cbedf58c22919" compoundref="pci_8h" startline="95">confadd::enable</references> <references refid="structconfadd_1a29f775cd426e1c998042e0ddf3b747ce" compoundref="pci_8h" startline="91">confadd::func</references> <references refid="io_8h_1a77b934268de1b3ecdcf3f275413b3108" compoundref="io_8c" startline="38" endline="46">inportByte</references> <references refid="io_8h_1a8d6617406b264c7f9e143adab8406791" compoundref="io_8c" startline="133" endline="141">inportDWord</references> <references refid="io_8h_1afb703b187feb4b92444454df6c3dd9e6" compoundref="io_8c" startline="55" endline="63">inportWord</references> <references refid="io_8h_1a2e2ad8d744ae4b35ea37d39dcfea1296" compoundref="io_8c" startline="118" endline="124">outportDWord</references> <references refid="structconfadd_1a0a9c3960a73c47086fcccb9c955638c7" compoundref="pci_8h" startline="90">confadd::reg</references> <referencedby refid="pci_8c_1a9a16d3ca1d4538415b752ab0c58e72ba" compoundref="pci_8c" startline="139" endline="242">pciProbe</referencedby> </memberdef> <memberdef kind="function" id="pci_8h_1a562e38dfaaab5bd65c08f7ee9769235d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type>void</type> <definition>void pciWrite</definition> <argsstring>(int bus, int dev, int func, int reg, uInt32 v, int bytes)</argsstring> <name>pciWrite</name> <param> <type>int</type> <declname>bus</declname> </param> <param> <type>int</type> <declname>dev</declname> </param> <param> <type>int</type> <declname>func</declname> </param> <param> <type>int</type> <declname>reg</declname> </param> <param> <type><ref refid="objgfx30_8h_1ada085051a6d9a8e00a2cb256d1af14ba" kindref="member">uInt32</ref></type> <declname>v</declname> </param> <param> <type>int</type> <declname>bytes</declname> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="C:/Dev/git/UbixOS/sys/include/pci/pci.h" line="104" column="6" bodyfile="C:/Dev/git/UbixOS/sys/pci/pci.c" bodystart="108" bodyend="137" declfile="C:/Dev/git/UbixOS/sys/include/pci/pci.h" declline="104" declcolumn="6"/> <references refid="structconfadd_1a183f0168efe559d9bd93c0333c633e87" compoundref="pci_8h" startline="93">confadd::bus</references> <references refid="structconfadd_1a25302013455d0f821a642ca36088082d" compoundref="pci_8h" startline="92">confadd::dev</references> <references refid="structconfadd_1a7e9ccb6d9b97c39e102cbedf58c22919" compoundref="pci_8h" startline="95">confadd::enable</references> <references refid="structconfadd_1a29f775cd426e1c998042e0ddf3b747ce" compoundref="pci_8h" startline="91">confadd::func</references> <references refid="io_8h_1a8acc1a06073db2e7b92ffbd00fbd0cf1" compoundref="io_8c" startline="72" endline="78">outportByte</references> <references refid="io_8h_1a2e2ad8d744ae4b35ea37d39dcfea1296" compoundref="io_8c" startline="118" endline="124">outportDWord</references> <references refid="io_8h_1a243f6b6d22cc5948908b764d58efc2b0" compoundref="io_8c" startline="103" endline="109">outportWord</references> <references refid="structconfadd_1a0a9c3960a73c47086fcccb9c955638c7" compoundref="pci_8h" startline="90">confadd::reg</references> <referencedby refid="pci_8c_1a9a16d3ca1d4538415b752ab0c58e72ba" compoundref="pci_8c" startline="139" endline="242">pciProbe</referencedby> </memberdef> </sectiondef> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <programlisting> <codeline lineno="1"><highlight class="comment">/*-</highlight></codeline> <codeline lineno="2"><highlight class="comment"><sp/>*<sp/>Copyright<sp/>(c)<sp/>2002-2018<sp/>The<sp/>UbixOS<sp/>Project.</highlight></codeline> <codeline lineno="3"><highlight class="comment"><sp/>*<sp/>All<sp/>rights<sp/>reserved.</highlight></codeline> <codeline lineno="4"><highlight class="comment"><sp/>*</highlight></codeline> <codeline lineno="5"><highlight class="comment"><sp/>*<sp/>This<sp/>was<sp/>developed<sp/>by<sp/>Christopher<sp/>W.<sp/>Olsen<sp/>for<sp/>the<sp/>UbixOS<sp/>Project.</highlight></codeline> <codeline lineno="6"><highlight class="comment"><sp/>*</highlight></codeline> <codeline lineno="7"><highlight class="comment"><sp/>*<sp/>Redistribution<sp/>and<sp/>use<sp/>in<sp/>source<sp/>and<sp/>binary<sp/>forms,<sp/>with<sp/>or<sp/>without<sp/>modification,<sp/>are<sp/>permitted</highlight></codeline> <codeline lineno="8"><highlight class="comment"><sp/>*<sp/>provided<sp/>that<sp/>the<sp/>following<sp/>conditions<sp/>are<sp/>met:</highlight></codeline> <codeline lineno="9"><highlight class="comment"><sp/>*</highlight></codeline> <codeline lineno="10"><highlight class="comment"><sp/>*<sp/>1)<sp/>Redistributions<sp/>of<sp/>source<sp/>code<sp/>must<sp/>retain<sp/>the<sp/>above<sp/>copyright<sp/>notice,<sp/>this<sp/>list<sp/>of</highlight></codeline> <codeline lineno="11"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/>conditions,<sp/>the<sp/>following<sp/>disclaimer<sp/>and<sp/>the<sp/>list<sp/>of<sp/>authors.</highlight></codeline> <codeline lineno="12"><highlight class="comment"><sp/>*<sp/>2)<sp/>Redistributions<sp/>in<sp/>binary<sp/>form<sp/>must<sp/>reproduce<sp/>the<sp/>above<sp/>copyright<sp/>notice,<sp/>this<sp/>list<sp/>of</highlight></codeline> <codeline lineno="13"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/>conditions,<sp/>the<sp/>following<sp/>disclaimer<sp/>and<sp/>the<sp/>list<sp/>of<sp/>authors<sp/>in<sp/>the<sp/>documentation<sp/>and/or</highlight></codeline> <codeline lineno="14"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/>other<sp/>materials<sp/>provided<sp/>with<sp/>the<sp/>distribution.</highlight></codeline> <codeline lineno="15"><highlight class="comment"><sp/>*<sp/>3)<sp/>Neither<sp/>the<sp/>name<sp/>of<sp/>the<sp/>UbixOS<sp/>Project<sp/>nor<sp/>the<sp/>names<sp/>of<sp/>its<sp/>contributors<sp/>may<sp/>be<sp/>used<sp/>to</highlight></codeline> <codeline lineno="16"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/>endorse<sp/>or<sp/>promote<sp/>products<sp/>derived<sp/>from<sp/>this<sp/>software<sp/>without<sp/>specific<sp/>prior<sp/>written</highlight></codeline> <codeline lineno="17"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/>permission.</highlight></codeline> <codeline lineno="18"><highlight class="comment"><sp/>*</highlight></codeline> <codeline lineno="19"><highlight class="comment"><sp/>*<sp/>THIS<sp/>SOFTWARE<sp/>IS<sp/>PROVIDED<sp/>BY<sp/>THE<sp/>AUTHOR<sp/>AND<sp/>CONTRIBUTORS<sp/>"AS<sp/>IS"<sp/>AND<sp/>ANY<sp/>EXPRESS<sp/>OR<sp/>IMPLIED</highlight></codeline> <codeline lineno="20"><highlight class="comment"><sp/>*<sp/>WARRANTIES,<sp/>INCLUDING,<sp/>BUT<sp/>NOT<sp/>LIMITED<sp/>TO,<sp/>THE<sp/>IMPLIED<sp/>WARRANTIES<sp/>OF<sp/>MERCHANTABILITY<sp/>AND<sp/>FITNESS</highlight></codeline> <codeline lineno="21"><highlight class="comment"><sp/>*<sp/>FOR<sp/>A<sp/>PARTICULAR<sp/>PURPOSE<sp/>ARE<sp/>DISCLAIMED.<sp/>IN<sp/>NO<sp/>EVENT<sp/>SHALL<sp/>THE<sp/>COPYRIGHT<sp/>OWNER<sp/>OR<sp/>CONTRIBUTORS</highlight></codeline> <codeline lineno="22"><highlight class="comment"><sp/>*<sp/>BE<sp/>LIABLE<sp/>FOR<sp/>ANY<sp/>DIRECT,<sp/>INDIRECT,<sp/>INCIDENTAL,<sp/>SPECIAL,<sp/>EXEMPLARY,<sp/>OR<sp/>CONSEQUENTIAL<sp/>DAMAGES</highlight></codeline> <codeline lineno="23"><highlight class="comment"><sp/>*<sp/>(INCLUDING,<sp/>BUT<sp/>NOT<sp/>LIMITED<sp/>TO,<sp/>PROCUREMENT<sp/>OF<sp/>SUBSTITUTE<sp/>GOODS<sp/>OR<sp/>SERVICES;<sp/>LOSS<sp/>OF<sp/>USE,<sp/>DATA,</highlight></codeline> <codeline lineno="24"><highlight class="comment"><sp/>*<sp/>OR<sp/>PROFITS;<sp/>OR<sp/>BUSINESS<sp/>INTERRUPTION)<sp/>HOWEVER<sp/>CAUSED<sp/>AND<sp/>ON<sp/>ANY<sp/>THEORY<sp/>OF<sp/>LIABILITY,<sp/>WHETHER<sp/>IN</highlight></codeline> <codeline lineno="25"><highlight class="comment"><sp/>*<sp/>CONTRACT,<sp/>STRICT<sp/>LIABILITY,<sp/>OR<sp/>TORT<sp/>(INCLUDING<sp/>NEGLIGENCE<sp/>OR<sp/>OTHERWISE)<sp/>ARISING<sp/>IN<sp/>ANY<sp/>WAY<sp/>OUT</highlight></codeline> <codeline lineno="26"><highlight class="comment"><sp/>*<sp/>OF<sp/>THE<sp/>USE<sp/>OF<sp/>THIS<sp/>SOFTWARE,<sp/>EVEN<sp/>IF<sp/>ADVISED<sp/>OF<sp/>THE<sp/>POSSIBILITY<sp/>OF<sp/>SUCH<sp/>DAMAGE.</highlight></codeline> <codeline lineno="27"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="28"><highlight class="normal"></highlight></codeline> <codeline lineno="29"><highlight class="normal"></highlight><highlight class="preprocessor">#ifndef<sp/>_PCI_H</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="30"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>_PCI_H</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="31"><highlight class="normal"></highlight></codeline> <codeline lineno="32"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/><<ref refid="include_2sys_2types_8h" kindref="compound">sys/types.h</ref>></highlight><highlight class="normal"></highlight></codeline> <codeline lineno="33"><highlight class="normal"></highlight></codeline> <codeline lineno="34" refid="structpciConfig" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structpciConfig" kindref="compound">pciConfig</ref><sp/>{</highlight></codeline> <codeline lineno="35" refid="structpciConfig_1aa9675635761800feb7a5827c100ef9ae" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a281b4b5562236420969a830503b0ba19" kindref="member">uint16_t</ref><sp/><ref refid="structpciConfig_1aa9675635761800feb7a5827c100ef9ae" kindref="member">vendorID</ref>;</highlight></codeline> <codeline lineno="36" refid="structpciConfig_1a58628534204bc4e05e5f9020ac8350d8" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a281b4b5562236420969a830503b0ba19" kindref="member">uint16_t</ref><sp/><ref refid="structpciConfig_1a58628534204bc4e05e5f9020ac8350d8" kindref="member">deviceID</ref>;</highlight></codeline> <codeline lineno="37"><highlight class="normal"></highlight></codeline> <codeline lineno="38" refid="structpciConfig_1aec8c642edd27bddd4671e2fbe61df627" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a281b4b5562236420969a830503b0ba19" kindref="member">uint16_t</ref><sp/><ref refid="structpciConfig_1aec8c642edd27bddd4671e2fbe61df627" kindref="member">command</ref>;</highlight></codeline> <codeline lineno="39" refid="structpciConfig_1a96580a28f37b495264305b791c7e2620" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a281b4b5562236420969a830503b0ba19" kindref="member">uint16_t</ref><sp/><ref refid="structpciConfig_1a96580a28f37b495264305b791c7e2620" kindref="member">status</ref>;</highlight></codeline> <codeline lineno="40"><highlight class="normal"></highlight></codeline> <codeline lineno="41" refid="structpciConfig_1acd2f2d9e82ed627f9fc4c0f077764ac4" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a2aff71146ab4942b2b38860c749c4074" kindref="member">uint8_t</ref><sp/><ref refid="structpciConfig_1acd2f2d9e82ed627f9fc4c0f077764ac4" kindref="member">revisionID</ref>;</highlight></codeline> <codeline lineno="42" refid="structpciConfig_1afe5a1cf42dff529b250c7ee548ea812d" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a2aff71146ab4942b2b38860c749c4074" kindref="member">uint8_t</ref><sp/><ref refid="structpciConfig_1afe5a1cf42dff529b250c7ee548ea812d" kindref="member">progIf</ref>;</highlight></codeline> <codeline lineno="43" refid="structpciConfig_1a83a72a5cba21bffe8359bee95d82ac58" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a2aff71146ab4942b2b38860c749c4074" kindref="member">uint8_t</ref><sp/><ref refid="structpciConfig_1a83a72a5cba21bffe8359bee95d82ac58" kindref="member">subClass</ref>;</highlight></codeline> <codeline lineno="44" refid="structpciConfig_1a8e9f55ac27f0e6d5869a3a2bd9ffe6bb" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a2aff71146ab4942b2b38860c749c4074" kindref="member">uint8_t</ref><sp/><ref refid="structpciConfig_1a8e9f55ac27f0e6d5869a3a2bd9ffe6bb" kindref="member">classCode</ref>;</highlight></codeline> <codeline lineno="45"><highlight class="normal"></highlight></codeline> <codeline lineno="46" refid="structpciConfig_1ab63a65ccdbc9fce15acb5edc3950daeb" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a2aff71146ab4942b2b38860c749c4074" kindref="member">uint8_t</ref><sp/><ref refid="structpciConfig_1ab63a65ccdbc9fce15acb5edc3950daeb" kindref="member">cacheLineSize</ref>;</highlight></codeline> <codeline lineno="47" refid="structpciConfig_1a4d9b9cdea220f31faddd3be8e4284a40" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a2aff71146ab4942b2b38860c749c4074" kindref="member">uint8_t</ref><sp/><ref refid="structpciConfig_1a4d9b9cdea220f31faddd3be8e4284a40" kindref="member">latencyTimer</ref>;</highlight></codeline> <codeline lineno="48" refid="structpciConfig_1a38752dcd81e2a6d67781100afa24bdf8" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a2aff71146ab4942b2b38860c749c4074" kindref="member">uint8_t</ref><sp/><ref refid="structpciConfig_1a38752dcd81e2a6d67781100afa24bdf8" kindref="member">headerType</ref>;</highlight></codeline> <codeline lineno="49" refid="structpciConfig_1a2add335aa360526ac46154e7777f80e6" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a2aff71146ab4942b2b38860c749c4074" kindref="member">uint8_t</ref><sp/><ref refid="structpciConfig_1a2add335aa360526ac46154e7777f80e6" kindref="member">bist</ref>;</highlight></codeline> <codeline lineno="50"><highlight class="normal"></highlight></codeline> <codeline lineno="51" refid="structpciConfig_1a1daad32be860e62df484b3f1f3b72b5e" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a0238af00180b6d9278fa1c6aa790fdf4" kindref="member">uint32_t</ref><sp/><ref refid="structpciConfig_1a1daad32be860e62df484b3f1f3b72b5e" kindref="member">bar</ref>[6];</highlight></codeline> <codeline lineno="52"><highlight class="normal"></highlight></codeline> <codeline lineno="53" refid="structpciConfig_1add2d8420e97686ad79b140e53c28a09e" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a0238af00180b6d9278fa1c6aa790fdf4" kindref="member">uint32_t</ref><sp/><ref refid="structpciConfig_1add2d8420e97686ad79b140e53c28a09e" kindref="member">cbPointer</ref>;</highlight></codeline> <codeline lineno="54"><highlight class="normal"></highlight></codeline> <codeline lineno="55" refid="structpciConfig_1a0df9b94d789adf4d6520522e500cdc9a" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a281b4b5562236420969a830503b0ba19" kindref="member">uint16_t</ref><sp/><ref refid="structpciConfig_1a0df9b94d789adf4d6520522e500cdc9a" kindref="member">subsysVendorID</ref>;</highlight></codeline> <codeline lineno="56" refid="structpciConfig_1a27c53bcef0585b298dbc1de72dbd0e35" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a281b4b5562236420969a830503b0ba19" kindref="member">uint16_t</ref><sp/><ref refid="structpciConfig_1a27c53bcef0585b298dbc1de72dbd0e35" kindref="member">subsysID</ref>;</highlight></codeline> <codeline lineno="57"><highlight class="normal"></highlight></codeline> <codeline lineno="58" refid="structpciConfig_1a645de37814e9c632d94c04b2f94516b6" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a0238af00180b6d9278fa1c6aa790fdf4" kindref="member">uint32_t</ref><sp/><ref refid="structpciConfig_1a645de37814e9c632d94c04b2f94516b6" kindref="member">epromAddr</ref>;</highlight></codeline> <codeline lineno="59"><highlight class="normal"></highlight></codeline> <codeline lineno="60" refid="structpciConfig_1a7b266768c61d834fefb13c9e9e1c8843" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a281b4b5562236420969a830503b0ba19" kindref="member">uint16_t</ref><sp/><ref refid="structpciConfig_1a7b266768c61d834fefb13c9e9e1c8843" kindref="member">capabilites</ref>;</highlight></codeline> <codeline lineno="61" refid="structpciConfig_1a9b07b9a18acbece2ba940db0f94dafe9" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a281b4b5562236420969a830503b0ba19" kindref="member">uint16_t</ref><sp/><ref refid="structpciConfig_1a9b07b9a18acbece2ba940db0f94dafe9" kindref="member">res1</ref>;</highlight></codeline> <codeline lineno="62"><highlight class="normal"></highlight></codeline> <codeline lineno="63" refid="structpciConfig_1a1bf30873715c7de1e913784409c3c155" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a0238af00180b6d9278fa1c6aa790fdf4" kindref="member">uint32_t</ref><sp/><ref refid="structpciConfig_1a1bf30873715c7de1e913784409c3c155" kindref="member">res2</ref>;</highlight></codeline> <codeline lineno="64"><highlight class="normal"></highlight></codeline> <codeline lineno="65" refid="structpciConfig_1a9bbbff5574626b54e3a678dc38012a93" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a2aff71146ab4942b2b38860c749c4074" kindref="member">uint8_t</ref><sp/><ref refid="structpciConfig_1a9bbbff5574626b54e3a678dc38012a93" kindref="member">intLine</ref>;</highlight></codeline> <codeline lineno="66" refid="structpciConfig_1ab857d16aeaeacd9fa6bf825e296a7d11" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a2aff71146ab4942b2b38860c749c4074" kindref="member">uint8_t</ref><sp/><ref refid="structpciConfig_1ab857d16aeaeacd9fa6bf825e296a7d11" kindref="member">intPin</ref>;</highlight></codeline> <codeline lineno="67" refid="structpciConfig_1a2767786af8800e041a384f84104a6d80" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a2aff71146ab4942b2b38860c749c4074" kindref="member">uint8_t</ref><sp/><ref refid="structpciConfig_1a2767786af8800e041a384f84104a6d80" kindref="member">minGrant</ref>;</highlight></codeline> <codeline lineno="68" refid="structpciConfig_1a05a8bb4e013e7f7ab2054501bb712c06" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a2aff71146ab4942b2b38860c749c4074" kindref="member">uint8_t</ref><sp/><ref refid="structpciConfig_1a05a8bb4e013e7f7ab2054501bb712c06" kindref="member">maxLatency</ref>;</highlight></codeline> <codeline lineno="69"><highlight class="normal"></highlight></codeline> <codeline lineno="70"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>device<sp/>info<sp/>*/</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="71"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//uint8_t<sp/><sp/>bus;</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="72"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//uint8_t<sp/><sp/>dev;</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="73"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//uint8_t<sp/><sp/>func;</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="74"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//uint8_t<sp/><sp/>irq;</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="75"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//uint8_t<sp/>irqLine;</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="76"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>base<sp/>registers<sp/>*/</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="77"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//uInt32<sp/>base[6];</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="78"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//uInt32<sp/>size[6];</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="79"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//uint16_t<sp/>subsysVendor;</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="80"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//uint16_t<sp/>subsys;</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="81"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Device<sp/>Info<sp/>*/</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="82"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//Move<sp/>this<sp/>to<sp/>anotther<sp/>struct<sp/>eventually</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="83" refid="structpciConfig_1a6ad529c48f62a51cc647c8ce9cc9c609" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a2aff71146ab4942b2b38860c749c4074" kindref="member">uint8_t</ref><sp/><ref refid="structpciConfig_1a6ad529c48f62a51cc647c8ce9cc9c609" kindref="member">bus</ref>;</highlight></codeline> <codeline lineno="84" refid="structpciConfig_1aa73b7917021ebcf2ec28084faecaf35d" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a2aff71146ab4942b2b38860c749c4074" kindref="member">uint8_t</ref><sp/><ref refid="structpciConfig_1aa73b7917021ebcf2ec28084faecaf35d" kindref="member">dev</ref>;</highlight></codeline> <codeline lineno="85" refid="structpciConfig_1a175cb9658f47e8b518172f0de510b96c" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a2aff71146ab4942b2b38860c749c4074" kindref="member">uint8_t</ref><sp/><ref refid="structpciConfig_1a175cb9658f47e8b518172f0de510b96c" kindref="member">func</ref>;</highlight></codeline> <codeline lineno="86"><highlight class="normal"></highlight></codeline> <codeline lineno="87"><highlight class="normal">};</highlight></codeline> <codeline lineno="88"><highlight class="normal"></highlight></codeline> <codeline lineno="89" refid="structconfadd" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structconfadd" kindref="compound">confadd</ref><sp/>{</highlight></codeline> <codeline lineno="90" refid="structconfadd_1a0a9c3960a73c47086fcccb9c955638c7" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a2aff71146ab4942b2b38860c749c4074" kindref="member">uint8_t</ref><sp/><ref refid="structconfadd_1a0a9c3960a73c47086fcccb9c955638c7" kindref="member">reg</ref><sp/>:8;</highlight></codeline> <codeline lineno="91" refid="structconfadd_1a29f775cd426e1c998042e0ddf3b747ce" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a2aff71146ab4942b2b38860c749c4074" kindref="member">uint8_t</ref><sp/><ref refid="structconfadd_1a29f775cd426e1c998042e0ddf3b747ce" kindref="member">func</ref><sp/>:3;</highlight></codeline> <codeline lineno="92" refid="structconfadd_1a25302013455d0f821a642ca36088082d" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a2aff71146ab4942b2b38860c749c4074" kindref="member">uint8_t</ref><sp/><ref refid="structconfadd_1a25302013455d0f821a642ca36088082d" kindref="member">dev</ref><sp/>:5;</highlight></codeline> <codeline lineno="93" refid="structconfadd_1a183f0168efe559d9bd93c0333c633e87" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a2aff71146ab4942b2b38860c749c4074" kindref="member">uint8_t</ref><sp/><ref refid="structconfadd_1a183f0168efe559d9bd93c0333c633e87" kindref="member">bus</ref><sp/>:8;</highlight></codeline> <codeline lineno="94" refid="structconfadd_1a595d0f91c5459eb66c3777fd30861bca" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a2aff71146ab4942b2b38860c749c4074" kindref="member">uint8_t</ref><sp/><ref refid="structconfadd_1a595d0f91c5459eb66c3777fd30861bca" kindref="member">rsvd</ref><sp/>:7;</highlight></codeline> <codeline lineno="95" refid="structconfadd_1a7e9ccb6d9b97c39e102cbedf58c22919" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a2aff71146ab4942b2b38860c749c4074" kindref="member">uint8_t</ref><sp/><ref refid="structconfadd_1a7e9ccb6d9b97c39e102cbedf58c22919" kindref="member">enable</ref><sp/>:1;</highlight></codeline> <codeline lineno="96"><highlight class="normal">};</highlight></codeline> <codeline lineno="97"><highlight class="normal"></highlight></codeline> <codeline lineno="98" refid="pci_8h_1a3c5cd622462bb50b6dab4c189e219eb9" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>countof(a)<sp/><sp/><sp/><sp/><sp/>(sizeof(a)<sp/>/<sp/>sizeof(a[0]))</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="99"><highlight class="normal"></highlight></codeline> <codeline lineno="100"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="pci_8h_1a5c450b9e2534226b162a16de0ef6b434" kindref="member">pci_init</ref>();</highlight></codeline> <codeline lineno="101"><highlight class="normal"></highlight></codeline> <codeline lineno="102"><highlight class="normal"><ref refid="include_2sys_2types_8h_1a0238af00180b6d9278fa1c6aa790fdf4" kindref="member">uint32_t</ref><sp/><ref refid="pci_8h_1a9a16d3ca1d4538415b752ab0c58e72ba" kindref="member">pciProbe</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>bus,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>dev,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>func);</highlight></codeline> <codeline lineno="103"><highlight class="normal"><ref refid="objgfx30_8h_1ada085051a6d9a8e00a2cb256d1af14ba" kindref="member">uInt32</ref><sp/><ref refid="pci_8h_1a09d5fac523ec602b928a2eeb2dc3eee6" kindref="member">pciRead</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>bus,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>dev,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>func,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>reg,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>bytes);</highlight></codeline> <codeline lineno="104"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="pci_8h_1a562e38dfaaab5bd65c08f7ee9769235d" kindref="member">pciWrite</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>bus,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>dev,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>func,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>reg,<sp/><ref refid="objgfx30_8h_1ada085051a6d9a8e00a2cb256d1af14ba" kindref="member">uInt32</ref><sp/>v,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>bytes);</highlight></codeline> <codeline lineno="105"><highlight class="normal"></highlight></codeline> <codeline lineno="106"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight></codeline> </programlisting> <location file="C:/Dev/git/UbixOS/sys/include/pci/pci.h"/> </compounddef> </doxygen>