\hypertarget{e1000__osdep_8h_source}{}\doxysection{e1000\+\_\+osdep.\+h}
\label{e1000__osdep_8h_source}\index{dev/e1000/e1000\_osdep.h@{dev/e1000/e1000\_osdep.h}}
\mbox{\hyperlink{e1000__osdep_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00001}00001 \textcolor{comment}{/******************************************************************************}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00002}00002 \textcolor{comment}{  SPDX-\/License-\/Identifier: BSD-\/3-\/Clause}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00003}00003 \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00004}00004 \textcolor{comment}{  Copyright (c) 2001-\/2020, Intel Corporation}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00005}00005 \textcolor{comment}{  All rights reserved.}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00006}00006 \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00007}00007 \textcolor{comment}{  Redistribution and use in source and binary forms, with or without}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00008}00008 \textcolor{comment}{  modification, are permitted provided that the following conditions are met:}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00009}00009 \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00010}00010 \textcolor{comment}{   1. Redistributions of source code must retain the above copyright notice,}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00011}00011 \textcolor{comment}{      this list of conditions and the following disclaimer.}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00012}00012 \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00013}00013 \textcolor{comment}{   2. Redistributions in binary form must reproduce the above copyright}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00014}00014 \textcolor{comment}{      notice, this list of conditions and the following disclaimer in the}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00015}00015 \textcolor{comment}{      documentation and/or other materials provided with the distribution.}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00016}00016 \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00017}00017 \textcolor{comment}{   3. Neither the name of the Intel Corporation nor the names of its}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00018}00018 \textcolor{comment}{      contributors may be used to endorse or promote products derived from}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00019}00019 \textcolor{comment}{      this software without specific prior written permission.}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00020}00020 \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00021}00021 \textcolor{comment}{  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "{}AS IS"{}}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00022}00022 \textcolor{comment}{  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00023}00023 \textcolor{comment}{  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00024}00024 \textcolor{comment}{  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00025}00025 \textcolor{comment}{  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00026}00026 \textcolor{comment}{  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00027}00027 \textcolor{comment}{  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00028}00028 \textcolor{comment}{  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00029}00029 \textcolor{comment}{  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00030}00030 \textcolor{comment}{  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00031}00031 \textcolor{comment}{  POSSIBILITY OF SUCH DAMAGE.}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00032}00032 \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00033}00033 \textcolor{comment}{******************************************************************************/}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00034}00034 \textcolor{comment}{/*\$FreeBSD\$*/}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00035}00035 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00036}00036 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00037}00037 \textcolor{preprocessor}{\#ifndef \_FREEBSD\_OS\_H\_}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00038}00038 \textcolor{preprocessor}{\#define \_FREEBSD\_OS\_H\_}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00039}00039 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00040}00040 \textcolor{preprocessor}{\#include <sys/types.h>}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00041}00041 \textcolor{preprocessor}{\#include <sys/param.h>}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00042}00042 \textcolor{preprocessor}{\#include <sys/systm.h>}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00043}00043 \textcolor{preprocessor}{\#include <sys/proc.h>}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00044}00044 \textcolor{preprocessor}{\#include <sys/lock.h>}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00045}00045 \textcolor{preprocessor}{\#include <sys/mutex.h>}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00046}00046 \textcolor{preprocessor}{\#include <sys/mbuf.h>}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00047}00047 \textcolor{preprocessor}{\#include <sys/protosw.h>}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00048}00048 \textcolor{preprocessor}{\#include <sys/socket.h>}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00049}00049 \textcolor{preprocessor}{\#include <sys/malloc.h>}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00050}00050 \textcolor{preprocessor}{\#include <sys/kernel.h>}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00051}00051 \textcolor{preprocessor}{\#include <sys/bus.h>}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00052}00052 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00053}00053 \textcolor{preprocessor}{\#include <net/ethernet.h>}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00054}00054 \textcolor{preprocessor}{\#include <net/if.h>}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00055}00055 \textcolor{preprocessor}{\#include <net/if\_var.h>}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00056}00056 \textcolor{preprocessor}{\#include <net/iflib.h>}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00057}00057 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00058}00058 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00059}00059 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00060}00060 \textcolor{preprocessor}{\#include <machine/bus.h>}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00061}00061 \textcolor{preprocessor}{\#include <sys/rman.h>}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00062}00062 \textcolor{preprocessor}{\#include <machine/resource.h>}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00063}00063 \textcolor{preprocessor}{\#include <vm/vm.h>}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00064}00064 \textcolor{preprocessor}{\#include <vm/pmap.h>}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00065}00065 \textcolor{preprocessor}{\#include <machine/clock.h>}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00066}00066 \textcolor{preprocessor}{\#include <dev/pci/pcivar.h>}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00067}00067 \textcolor{preprocessor}{\#include <dev/pci/pcireg.h>}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00068}00068 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00069}00069 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00070}\mbox{\hyperlink{e1000__osdep_8h_aca68c0d4ac8df0838e209fb5300f7be3}{00070}} \textcolor{preprocessor}{\#define ASSERT(x) if(!(x)) panic("{}EM: x"{}})}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00071}\mbox{\hyperlink{e1000__osdep_8h_a63b0aa7d0246c605e167698a09bba6e2}{00071}} \textcolor{preprocessor}{\#define us\_scale(x)  max(1, (x/(1000000/hz)))}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00072}00072 \textcolor{keyword}{static} \textcolor{keyword}{inline} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00073}\mbox{\hyperlink{e1000__osdep_8h_a35b4fc75b61d8667c9a3aed390c76773}{00073}} \mbox{\hyperlink{e1000__osdep_8h_a35b4fc75b61d8667c9a3aed390c76773}{ms\_scale}}(\textcolor{keywordtype}{int} x) \{}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00074}00074         \textcolor{keywordflow}{if} (hz == 1000) \{}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00075}00075                 \textcolor{keywordflow}{return} (x);}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00076}00076         \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (hz > 1000) \{}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00077}00077                 \textcolor{keywordflow}{return} (x*(hz/1000));}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00078}00078         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00079}00079                 \textcolor{keywordflow}{return} (max(1, x/(1000/hz)));}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00080}00080         \}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00081}00081 \}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00082}00082 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00083}00083 \textcolor{keyword}{static} \textcolor{keyword}{inline} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00084}\mbox{\hyperlink{e1000__osdep_8h_a1af47d278cd77b71bd55b6229c57ef7a}{00084}} \mbox{\hyperlink{e1000__osdep_8h_a1af47d278cd77b71bd55b6229c57ef7a}{safe\_pause\_us}}(\textcolor{keywordtype}{int} x) \{}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00085}00085         \textcolor{keywordflow}{if} (cold) \{}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00086}00086                 DELAY(x);}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00087}00087         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00088}00088                 pause(\textcolor{stringliteral}{"{}e1000\_delay"{}}, max(1,  x/(1000000/hz)));}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00089}00089         \}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00090}00090 \}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00091}00091 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00092}00092 \textcolor{keyword}{static} \textcolor{keyword}{inline} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00093}\mbox{\hyperlink{e1000__osdep_8h_a643e100f193bec939a52f491f0738a54}{00093}} \mbox{\hyperlink{e1000__osdep_8h_a643e100f193bec939a52f491f0738a54}{safe\_pause\_ms}}(\textcolor{keywordtype}{int} x) \{}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00094}00094         \textcolor{keywordflow}{if} (cold) \{}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00095}00095                 DELAY(x*1000);}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00096}00096         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00097}00097                 pause(\textcolor{stringliteral}{"{}e1000\_delay"{}}, \mbox{\hyperlink{e1000__osdep_8h_a35b4fc75b61d8667c9a3aed390c76773}{ms\_scale}}(x));}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00098}00098         \}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00099}00099 \}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00100}00100 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00101}\mbox{\hyperlink{e1000__osdep_8h_a43e7beeb12e2b50153ba0f215b68bb85}{00101}} \textcolor{preprocessor}{\#define usec\_delay(x) safe\_pause\_us(x)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00102}\mbox{\hyperlink{e1000__osdep_8h_afc154af0294a650dae1ed1cf0327cba3}{00102}} \textcolor{preprocessor}{\#define usec\_delay\_irq(x) usec\_delay(x)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00103}\mbox{\hyperlink{e1000__osdep_8h_a112d66cf3347afa4dcb69db64604682f}{00103}} \textcolor{preprocessor}{\#define msec\_delay(x) safe\_pause\_ms(x)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00104}\mbox{\hyperlink{e1000__osdep_8h_ad5dd14fbe9f78d277f9b81265a60fb9a}{00104}} \textcolor{preprocessor}{\#define msec\_delay\_irq(x) msec\_delay(x)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00105}00105 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00106}00106 \textcolor{comment}{/* Enable/disable debugging statements in shared code */}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00107}\mbox{\hyperlink{e1000__osdep_8h_a49606be7356624568932ec81c0d429f4}{00107}} \textcolor{preprocessor}{\#define DBG             0}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00108}00108 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00109}\mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{00109}} \textcolor{preprocessor}{\#define DEBUGOUT(...) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00110}00110 \textcolor{preprocessor}{    do \{ if (DBG) printf(\_\_VA\_ARGS\_\_); \} while (0)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00111}\mbox{\hyperlink{e1000__osdep_8h_a05001c9eb96d2f4a2ad39e927fc81cfa}{00111}} \textcolor{preprocessor}{\#define DEBUGOUT1(...)                  DEBUGOUT(\_\_VA\_ARGS\_\_)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00112}\mbox{\hyperlink{e1000__osdep_8h_a051546be44f3f611a7ec3acd0e572565}{00112}} \textcolor{preprocessor}{\#define DEBUGOUT2(...)                  DEBUGOUT(\_\_VA\_ARGS\_\_)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00113}\mbox{\hyperlink{e1000__osdep_8h_a6247ee269b9e29272bc4d804bf8c86fa}{00113}} \textcolor{preprocessor}{\#define DEBUGOUT3(...)                  DEBUGOUT(\_\_VA\_ARGS\_\_)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00114}\mbox{\hyperlink{e1000__osdep_8h_a2c6013810bdf5b9b475f62e3aefbcd6e}{00114}} \textcolor{preprocessor}{\#define DEBUGOUT7(...)                  DEBUGOUT(\_\_VA\_ARGS\_\_)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00115}\mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{00115}} \textcolor{preprocessor}{\#define DEBUGFUNC(F)                    DEBUGOUT(F "{}\(\backslash\)n"{}})}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00116}00116 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00117}\mbox{\hyperlink{e1000__osdep_8h_a10b2d890d871e1489bb02b7e70d9bdfb}{00117}} \textcolor{preprocessor}{\#define STATIC                  static}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00118}\mbox{\hyperlink{e1000__osdep_8h_a283fe5d3f5e60bad44c002fa1ad53d30}{00118}} \textcolor{preprocessor}{\#define CMD\_MEM\_WRT\_INVALIDATE  0x0010  }\textcolor{comment}{/* BIT\_4 */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00119}\mbox{\hyperlink{e1000__osdep_8h_ab84b9e6dbeb6ce887115cd0594eb611d}{00119}} \textcolor{preprocessor}{\#define PCI\_COMMAND\_REGISTER    PCIR\_COMMAND}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00120}00120 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00121}\mbox{\hyperlink{e1000__osdep_8h_a3f7e2bcbb0b4c338f3c4f6c937cd4234}{00121}} \textcolor{keyword}{typedef} uint64\_t        \mbox{\hyperlink{e1000__osdep_8h_a3f7e2bcbb0b4c338f3c4f6c937cd4234}{u64}};}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00122}\mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{00122}} \textcolor{keyword}{typedef} uint32\_t        \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}};}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00123}\mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{00123}} \textcolor{keyword}{typedef} uint16\_t        \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}};}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00124}\mbox{\hyperlink{e1000__osdep_8h_a92c50087ca0e64fa93fc59402c55f8ca}{00124}} \textcolor{keyword}{typedef} uint8\_t         \mbox{\hyperlink{e1000__osdep_8h_a92c50087ca0e64fa93fc59402c55f8ca}{u8}};}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00125}\mbox{\hyperlink{e1000__osdep_8h_a350c6fc928e3bdc6c6486268ac8fb269}{00125}} \textcolor{keyword}{typedef} int64\_t         \mbox{\hyperlink{e1000__osdep_8h_a350c6fc928e3bdc6c6486268ac8fb269}{s64}};}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00126}\mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{00126}} \textcolor{keyword}{typedef} int32\_t         \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}};}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00127}\mbox{\hyperlink{e1000__osdep_8h_aa980e2c02ba2305e0f489d5650655425}{00127}} \textcolor{keyword}{typedef} int16\_t         \mbox{\hyperlink{e1000__osdep_8h_aa980e2c02ba2305e0f489d5650655425}{s16}};}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00128}\mbox{\hyperlink{e1000__osdep_8h_a9e382f207c65ca13ab4ae98363aeda80}{00128}} \textcolor{keyword}{typedef} int8\_t          \mbox{\hyperlink{e1000__osdep_8h_a9e382f207c65ca13ab4ae98363aeda80}{s8}};}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00129}00129 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00130}\mbox{\hyperlink{e1000__osdep_8h_a42b303dec823d42e18116e091891a235}{00130}} \textcolor{preprocessor}{\#define \_\_le16          u16}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00131}\mbox{\hyperlink{e1000__osdep_8h_a4eb26b9fcde1be4ec7556787e0d3281b}{00131}} \textcolor{preprocessor}{\#define \_\_le32          u32}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00132}\mbox{\hyperlink{e1000__osdep_8h_a082a2c540152aca8c135a709aa7d228f}{00132}} \textcolor{preprocessor}{\#define \_\_le64          u64}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00133}00133 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00134}00134 \textcolor{preprocessor}{\#if \_\_FreeBSD\_version < 800000}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00135}00135 \textcolor{preprocessor}{\#if defined(\_\_i386\_\_) || defined(\_\_amd64\_\_)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00136}00136 \textcolor{preprocessor}{\#define mb()    \_\_asm volatile("{}mfence"{}} ::: "{}memory"{})}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00137}00137 \textcolor{preprocessor}{\#define wmb()   \_\_asm volatile("{}sfence"{}} ::: "{}memory"{})}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00138}00138 \textcolor{preprocessor}{\#define rmb()   \_\_asm volatile("{}lfence"{}} ::: "{}memory"{})}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00139}00139 \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00140}\mbox{\hyperlink{e1000__osdep_8h_a771c9abaabae097a19df0c120f95a8fd}{00140}} \textcolor{preprocessor}{\#define mb()}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00141}\mbox{\hyperlink{e1000__osdep_8h_a04c587cef17643201f0e631ceb64c0a7}{00141}} \textcolor{preprocessor}{\#define rmb()}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00142}\mbox{\hyperlink{e1000__osdep_8h_a6cec6ad808589891b39e150d6a18152c}{00142}} \textcolor{preprocessor}{\#define wmb()}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00143}00143 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00144}00144 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/*\_\_FreeBSD\_version < 800000 */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00145}00145 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00146}00146 \textcolor{preprocessor}{\#ifdef INVARIANTS}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00147}00147 \textcolor{preprocessor}{\#define ASSERT\_CTX\_LOCK\_HELD(hw) (sx\_assert(iflib\_ctx\_lock\_get(((struct e1000\_osdep *)hw-\/>back)-\/>ctx), SX\_XLOCKED))}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00148}00148 \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00149}\mbox{\hyperlink{e1000__osdep_8h_affe1f3a72796a1aa34c5b25cd14d6d28}{00149}} \textcolor{preprocessor}{\#define ASSERT\_CTX\_LOCK\_HELD(hw)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00150}00150 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00151}00151 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00152}00152 \textcolor{preprocessor}{\#if defined(\_\_i386\_\_) || defined(\_\_amd64\_\_)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00153}00153 \textcolor{keyword}{static} \_\_inline}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00154}00154 \textcolor{keywordtype}{void} \mbox{\hyperlink{e1000__osdep_8h_a004692feb1f91896c21a6d1644b54f2b}{prefetch}}(\textcolor{keywordtype}{void} *x)}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00155}00155 \{}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00156}00156         \_\_asm \textcolor{keyword}{volatile}(\textcolor{stringliteral}{"{}prefetcht0 \%0"{}} :: \textcolor{stringliteral}{"{}m"{}} (*(\textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{long} *)x));}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00157}00157 \}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00158}00158 \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00159}\mbox{\hyperlink{e1000__osdep_8h_a004692feb1f91896c21a6d1644b54f2b}{00159}} \textcolor{preprocessor}{\#define prefetch(x)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00160}00160 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00161}00161 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00162}\mbox{\hyperlink{structe1000__osdep}{00162}} \textcolor{keyword}{struct }\mbox{\hyperlink{structe1000__osdep}{e1000\_osdep}}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00163}00163 \{}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00164}\mbox{\hyperlink{structe1000__osdep_a979124aed5c1bc61394ee3988b81a05e}{00164}}         bus\_space\_tag\_t    \mbox{\hyperlink{structe1000__osdep_a979124aed5c1bc61394ee3988b81a05e}{mem\_bus\_space\_tag}};}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00165}\mbox{\hyperlink{structe1000__osdep_a10a9fcb708c9587af2b60e813b859eee}{00165}}         bus\_space\_handle\_t \mbox{\hyperlink{structe1000__osdep_a10a9fcb708c9587af2b60e813b859eee}{mem\_bus\_space\_handle}};}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00166}\mbox{\hyperlink{structe1000__osdep_a0e46d91795cb05aaebafcd0373eb5ce5}{00166}}         bus\_space\_tag\_t    \mbox{\hyperlink{structe1000__osdep_a0e46d91795cb05aaebafcd0373eb5ce5}{io\_bus\_space\_tag}};}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00167}\mbox{\hyperlink{structe1000__osdep_a8b62b7b0b156d00c5f282a8f96bda8ae}{00167}}         bus\_space\_handle\_t \mbox{\hyperlink{structe1000__osdep_a8b62b7b0b156d00c5f282a8f96bda8ae}{io\_bus\_space\_handle}};}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00168}\mbox{\hyperlink{structe1000__osdep_a05479ffd8780728b2ef7b6e93e6bb587}{00168}}         bus\_space\_tag\_t    \mbox{\hyperlink{structe1000__osdep_a05479ffd8780728b2ef7b6e93e6bb587}{flash\_bus\_space\_tag}};}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00169}\mbox{\hyperlink{structe1000__osdep_a14c782b8edf3a09cbc72ac39133eeb18}{00169}}         bus\_space\_handle\_t \mbox{\hyperlink{structe1000__osdep_a14c782b8edf3a09cbc72ac39133eeb18}{flash\_bus\_space\_handle}};}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00170}\mbox{\hyperlink{structe1000__osdep_ae409dd45d4d6f811a0c8c766c257adcb}{00170}}         device\_t           \mbox{\hyperlink{structe1000__osdep_ae409dd45d4d6f811a0c8c766c257adcb}{dev}};}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00171}\mbox{\hyperlink{structe1000__osdep_abe017cae8b162d7a977da23574184b0d}{00171}}         if\_ctx\_t           \mbox{\hyperlink{structe1000__osdep_abe017cae8b162d7a977da23574184b0d}{ctx}};}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00172}00172 \};}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00173}00173 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00174}\mbox{\hyperlink{e1000__osdep_8h_a99ff6fa4807c8e8964ba8f79ad66bf40}{00174}} \textcolor{preprocessor}{\#define E1000\_REGISTER(hw, reg) (((hw)-\/>mac.type >= e1000\_82543) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00175}00175 \textcolor{preprocessor}{    ? reg : e1000\_translate\_register\_82542(reg))}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00176}00176 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00177}\mbox{\hyperlink{e1000__osdep_8h_abd4ee915cc9a2dadc190fa88437f8792}{00177}} \textcolor{preprocessor}{\#define E1000\_WRITE\_FLUSH(a) E1000\_READ\_REG(a, E1000\_STATUS)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00178}00178 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00179}00179 \textcolor{comment}{/* Read from an absolute offset in the adapter's memory space */}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00180}\mbox{\hyperlink{e1000__osdep_8h_a9bfff6462beeed833feb23dfd16cc424}{00180}} \textcolor{preprocessor}{\#define E1000\_READ\_OFFSET(hw, offset) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00181}00181 \textcolor{preprocessor}{    bus\_space\_read\_4(((struct e1000\_osdep *)(hw)-\/>back)-\/>mem\_bus\_space\_tag, \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00182}00182 \textcolor{preprocessor}{    ((struct e1000\_osdep *)(hw)-\/>back)-\/>mem\_bus\_space\_handle, offset)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00183}00183 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00184}00184 \textcolor{comment}{/* Write to an absolute offset in the adapter's memory space */}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00185}\mbox{\hyperlink{e1000__osdep_8h_a9e7ee9f21e7f283c3bbc3bf1bf2f1145}{00185}} \textcolor{preprocessor}{\#define E1000\_WRITE\_OFFSET(hw, offset, value) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00186}00186 \textcolor{preprocessor}{    bus\_space\_write\_4(((struct e1000\_osdep *)(hw)-\/>back)-\/>mem\_bus\_space\_tag, \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00187}00187 \textcolor{preprocessor}{    ((struct e1000\_osdep *)(hw)-\/>back)-\/>mem\_bus\_space\_handle, offset, value)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00188}00188 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00189}00189 \textcolor{comment}{/* Register READ/WRITE macros */}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00190}00190 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00191}\mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{00191}} \textcolor{preprocessor}{\#define E1000\_READ\_REG(hw, reg) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00192}00192 \textcolor{preprocessor}{    bus\_space\_read\_4(((struct e1000\_osdep *)(hw)-\/>back)-\/>mem\_bus\_space\_tag, \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00193}00193 \textcolor{preprocessor}{        ((struct e1000\_osdep *)(hw)-\/>back)-\/>mem\_bus\_space\_handle, \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00194}00194 \textcolor{preprocessor}{        E1000\_REGISTER(hw, reg))}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00195}00195 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00196}\mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{00196}} \textcolor{preprocessor}{\#define E1000\_WRITE\_REG(hw, reg, value) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00197}00197 \textcolor{preprocessor}{    bus\_space\_write\_4(((struct e1000\_osdep *)(hw)-\/>back)-\/>mem\_bus\_space\_tag, \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00198}00198 \textcolor{preprocessor}{        ((struct e1000\_osdep *)(hw)-\/>back)-\/>mem\_bus\_space\_handle, \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00199}00199 \textcolor{preprocessor}{        E1000\_REGISTER(hw, reg), value)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00200}00200 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00201}\mbox{\hyperlink{e1000__osdep_8h_a59ff1eee35e35ad4810f5f85ec28e4e9}{00201}} \textcolor{preprocessor}{\#define E1000\_READ\_REG\_ARRAY(hw, reg, index) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00202}00202 \textcolor{preprocessor}{    bus\_space\_read\_4(((struct e1000\_osdep *)(hw)-\/>back)-\/>mem\_bus\_space\_tag, \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00203}00203 \textcolor{preprocessor}{        ((struct e1000\_osdep *)(hw)-\/>back)-\/>mem\_bus\_space\_handle, \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00204}00204 \textcolor{preprocessor}{        E1000\_REGISTER(hw, reg) + ((index)<< 2))}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00205}00205 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00206}\mbox{\hyperlink{e1000__osdep_8h_a51d00d7b9d0972918fda9e17dc2fc9ce}{00206}} \textcolor{preprocessor}{\#define E1000\_WRITE\_REG\_ARRAY(hw, reg, index, value) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00207}00207 \textcolor{preprocessor}{    bus\_space\_write\_4(((struct e1000\_osdep *)(hw)-\/>back)-\/>mem\_bus\_space\_tag, \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00208}00208 \textcolor{preprocessor}{        ((struct e1000\_osdep *)(hw)-\/>back)-\/>mem\_bus\_space\_handle, \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00209}00209 \textcolor{preprocessor}{        E1000\_REGISTER(hw, reg) + ((index)<< 2), value)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00210}00210 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00211}\mbox{\hyperlink{e1000__osdep_8h_aa01bf5cf9eab55a2f27e9c9bd9d9bb88}{00211}} \textcolor{preprocessor}{\#define E1000\_READ\_REG\_ARRAY\_DWORD E1000\_READ\_REG\_ARRAY}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00212}\mbox{\hyperlink{e1000__osdep_8h_aacf5416d09a54809565cc774b2135627}{00212}} \textcolor{preprocessor}{\#define E1000\_WRITE\_REG\_ARRAY\_DWORD E1000\_WRITE\_REG\_ARRAY}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00213}00213 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00214}\mbox{\hyperlink{e1000__osdep_8h_a13789b12f1929364813a8c15b1224b9c}{00214}} \textcolor{preprocessor}{\#define E1000\_READ\_REG\_ARRAY\_BYTE(hw, reg, index) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00215}00215 \textcolor{preprocessor}{    bus\_space\_read\_1(((struct e1000\_osdep *)(hw)-\/>back)-\/>mem\_bus\_space\_tag, \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00216}00216 \textcolor{preprocessor}{        ((struct e1000\_osdep *)(hw)-\/>back)-\/>mem\_bus\_space\_handle, \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00217}00217 \textcolor{preprocessor}{        E1000\_REGISTER(hw, reg) + index)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00218}00218 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00219}\mbox{\hyperlink{e1000__osdep_8h_a421f5d0713d7a751126e5843090d0e7f}{00219}} \textcolor{preprocessor}{\#define E1000\_WRITE\_REG\_ARRAY\_BYTE(hw, reg, index, value) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00220}00220 \textcolor{preprocessor}{    bus\_space\_write\_1(((struct e1000\_osdep *)(hw)-\/>back)-\/>mem\_bus\_space\_tag, \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00221}00221 \textcolor{preprocessor}{        ((struct e1000\_osdep *)(hw)-\/>back)-\/>mem\_bus\_space\_handle, \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00222}00222 \textcolor{preprocessor}{        E1000\_REGISTER(hw, reg) + index, value)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00223}00223 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00224}\mbox{\hyperlink{e1000__osdep_8h_ae3ea6e1661056744cb92d5e57704f666}{00224}} \textcolor{preprocessor}{\#define E1000\_WRITE\_REG\_ARRAY\_WORD(hw, reg, index, value) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00225}00225 \textcolor{preprocessor}{    bus\_space\_write\_2(((struct e1000\_osdep *)(hw)-\/>back)-\/>mem\_bus\_space\_tag, \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00226}00226 \textcolor{preprocessor}{        ((struct e1000\_osdep *)(hw)-\/>back)-\/>mem\_bus\_space\_handle, \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00227}00227 \textcolor{preprocessor}{        E1000\_REGISTER(hw, reg) + (index << 1), value)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00228}00228 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00229}\mbox{\hyperlink{e1000__osdep_8h_a0f34033070679db4ac01532f4a6fae28}{00229}} \textcolor{preprocessor}{\#define E1000\_WRITE\_REG\_IO(hw, reg, value) do \{\(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00230}00230 \textcolor{preprocessor}{    bus\_space\_write\_4(((struct e1000\_osdep *)(hw)-\/>back)-\/>io\_bus\_space\_tag, \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00231}00231 \textcolor{preprocessor}{        ((struct e1000\_osdep *)(hw)-\/>back)-\/>io\_bus\_space\_handle, \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00232}00232 \textcolor{preprocessor}{        (hw)-\/>io\_base, reg); \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00233}00233 \textcolor{preprocessor}{    bus\_space\_write\_4(((struct e1000\_osdep *)(hw)-\/>back)-\/>io\_bus\_space\_tag, \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00234}00234 \textcolor{preprocessor}{        ((struct e1000\_osdep *)(hw)-\/>back)-\/>io\_bus\_space\_handle, \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00235}00235 \textcolor{preprocessor}{        (hw)-\/>io\_base + 4, value); \} while (0)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00236}00236 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00237}\mbox{\hyperlink{e1000__osdep_8h_af3618ef152373879196980f9d3ac5628}{00237}} \textcolor{preprocessor}{\#define E1000\_READ\_FLASH\_REG(hw, reg) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00238}00238 \textcolor{preprocessor}{    bus\_space\_read\_4(((struct e1000\_osdep *)(hw)-\/>back)-\/>flash\_bus\_space\_tag, \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00239}00239 \textcolor{preprocessor}{        ((struct e1000\_osdep *)(hw)-\/>back)-\/>flash\_bus\_space\_handle, reg)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00240}00240 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00241}\mbox{\hyperlink{e1000__osdep_8h_ab975ab8ddd00ae28bfd4af589ceffa7e}{00241}} \textcolor{preprocessor}{\#define E1000\_READ\_FLASH\_REG16(hw, reg) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00242}00242 \textcolor{preprocessor}{    bus\_space\_read\_2(((struct e1000\_osdep *)(hw)-\/>back)-\/>flash\_bus\_space\_tag, \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00243}00243 \textcolor{preprocessor}{        ((struct e1000\_osdep *)(hw)-\/>back)-\/>flash\_bus\_space\_handle, reg)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00244}00244 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00245}\mbox{\hyperlink{e1000__osdep_8h_a9fc66b15d17b0c131ed486a2233e3142}{00245}} \textcolor{preprocessor}{\#define E1000\_WRITE\_FLASH\_REG(hw, reg, value) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00246}00246 \textcolor{preprocessor}{    bus\_space\_write\_4(((struct e1000\_osdep *)(hw)-\/>back)-\/>flash\_bus\_space\_tag, \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00247}00247 \textcolor{preprocessor}{        ((struct e1000\_osdep *)(hw)-\/>back)-\/>flash\_bus\_space\_handle, reg, value)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00248}00248 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00249}\mbox{\hyperlink{e1000__osdep_8h_afadf64cf05bef70e0fd07ec1c7f6d175}{00249}} \textcolor{preprocessor}{\#define E1000\_WRITE\_FLASH\_REG16(hw, reg, value) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00250}00250 \textcolor{preprocessor}{    bus\_space\_write\_2(((struct e1000\_osdep *)(hw)-\/>back)-\/>flash\_bus\_space\_tag, \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00251}00251 \textcolor{preprocessor}{        ((struct e1000\_osdep *)(hw)-\/>back)-\/>flash\_bus\_space\_handle, reg, value)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00252}00252 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00253}00253 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00254}00254 \textcolor{preprocessor}{\#if defined(INVARIANTS)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00255}00255 \textcolor{preprocessor}{\#include <sys/proc.h>}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00256}00256 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00257}00257 \textcolor{preprocessor}{\#define ASSERT\_NO\_LOCKS()                               \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00258}00258 \textcolor{preprocessor}{        do \{                                            \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00259}00259 \textcolor{preprocessor}{             int unknown\_locks = curthread-\/>td\_locks -\/ mtx\_owned(\&Giant);       \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00260}00260 \textcolor{preprocessor}{             if (unknown\_locks > 0) \{                                   \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00261}00261 \textcolor{preprocessor}{                     WITNESS\_WARN(WARN\_GIANTOK|WARN\_SLEEPOK|WARN\_PANIC, NULL, "{}unexpected non-\/sleepable lock"{}}); \(\backslash\)}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00262}00262              \}                                                          \(\backslash\)}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00263}00263              MPASS(curthread-\/>td\_rw\_rlocks == 0);                       \(\backslash\)}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00264}00264              MPASS(curthread-\/>td\_lk\_slocks == 0);                       \(\backslash\)}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00265}00265         \} while (0)}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00266}00266 \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00267}\mbox{\hyperlink{e1000__osdep_8h_ab9f3e268d3f25535afa0d714b78eb36e}{00267}} \textcolor{preprocessor}{\#define ASSERT\_NO\_LOCKS()}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00268}00268 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00269}00269 }
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00270}00270 \textcolor{preprocessor}{\#endif  }\textcolor{comment}{/* \_FREEBSD\_OS\_H\_ */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{e1000__osdep_8h_source_l00271}00271 }

\end{DoxyCode}
