annotate doc_recap_some_important_thoughts_about_the_current_compiler.patch @ 142:cbff597d307e default tip

Wip doc
author Louis Opter <louis@lse.epita.fr>
date Sun, 09 Feb 2014 15:48:57 -0800
parents 85c2fa6f6bd8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
141
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
1 # HG changeset patch
142
cbff597d307e Wip doc
Louis Opter <louis@lse.epita.fr>
parents: 141
diff changeset
2 # Parent 3bae25c81f3e5b3be3a6609c932997d9a8fc3b59
141
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
3 Recap important notes about the current compiler in a small document
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
4
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
5 This should be used as a work document for the next compiler version.
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
6
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
7 diff --git a/doc/rathaxes/technical/CMakeLists.txt b/doc/rathaxes/technical/CMakeLists.txt
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
8 --- a/doc/rathaxes/technical/CMakeLists.txt
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
9 +++ b/doc/rathaxes/technical/CMakeLists.txt
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
10 @@ -15,3 +15,5 @@
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
11 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/technical_documentation_en.pdf
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
12 DESTINATION share/doc/rathaxes/)
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
13 ENDFOREACH(I ${DOCS})
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
14 +
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
15 +ADD_LATEX_DOCUMENT(rtx_2k12_wrap_up.tex DEFAULT_PDF MANGLE_TARGET_NAMES)
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
16 diff --git a/doc/rathaxes/technical/rtx_2k12_wrap_up.tex b/doc/rathaxes/technical/rtx_2k12_wrap_up.tex
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
17 new file mode 100644
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
18 --- /dev/null
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
19 +++ b/doc/rathaxes/technical/rtx_2k12_wrap_up.tex
142
cbff597d307e Wip doc
Louis Opter <louis@lse.epita.fr>
parents: 141
diff changeset
20 @@ -0,0 +1,121 @@
141
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
21 +\documentclass[american]{rtxarticle}
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
22 +
142
cbff597d307e Wip doc
Louis Opter <louis@lse.epita.fr>
parents: 141
diff changeset
23 +\title{\rtx\ 2012 wrap-up}
141
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
24 +
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
25 +\author{Louis Opter}
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
26 +
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
27 +\begin{document}
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
28 +
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
29 +\maketitle
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
30 +
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
31 +\begin{abstract}
142
cbff597d307e Wip doc
Louis Opter <louis@lse.epita.fr>
parents: 141
diff changeset
32 +The second iteration of the \rtx\ compiler, \emph{\rtx\ 2012}, started in 2010
cbff597d307e Wip doc
Louis Opter <louis@lse.epita.fr>
parents: 141
diff changeset
33 +has been sunset in 2013. This document aims to highlight the issues and the
cbff597d307e Wip doc
Louis Opter <louis@lse.epita.fr>
parents: 141
diff changeset
34 +lessons learned while trying to recode an e1000 driver with this compiler
141
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
35 +version.
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
36 +
142
cbff597d307e Wip doc
Louis Opter <louis@lse.epita.fr>
parents: 141
diff changeset
37 +This document should serve as a reference for the next version of the \rtx\
cbff597d307e Wip doc
Louis Opter <louis@lse.epita.fr>
parents: 141
diff changeset
38 +compiler implemented in Python 3 with Pyrser. Design shortcomings led to the
cbff597d307e Wip doc
Louis Opter <louis@lse.epita.fr>
parents: 141
diff changeset
39 +biggest issues and are covered first, some implementation issues are covered in
cbff597d307e Wip doc
Louis Opter <louis@lse.epita.fr>
parents: 141
diff changeset
40 +a second part.
141
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
41 +\end{abstract}
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
42 +
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
43 +\section{Design issues}
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
44 +
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
45 +\subsection{Unused features}
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
46 +
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
47 +The following compiler features:
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
48 +
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
49 +\begin{itemize}
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
50 +\item Advanced chunk selection (using the \texttt{with} statement);
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
51 +\item Register declarations.
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
52 +\end{itemize}
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
53 +
142
cbff597d307e Wip doc
Louis Opter <louis@lse.epita.fr>
parents: 141
diff changeset
54 +Turned out to unnecessary because:
141
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
55 +
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
56 +\begin{itemize}
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
57 +\item We decided to scope the first driver to a single kernel (Linux 2.6.32 and
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
58 + then 3.2.0);
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
59 +\item Register declarations were not clearly wired to the rest of the language
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
60 + and were simply too advanced to be used at first;
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
61 +\item Challenges appeared at other places.
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
62 +\end{itemize}
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
63 +
142
cbff597d307e Wip doc
Louis Opter <louis@lse.epita.fr>
parents: 141
diff changeset
64 +The \texttt{with} statement stays a core feature of the language, it just
cbff597d307e Wip doc
Louis Opter <louis@lse.epita.fr>
parents: 141
diff changeset
65 +turned out to an advanced feature that we didn't need at first.
cbff597d307e Wip doc
Louis Opter <louis@lse.epita.fr>
parents: 141
diff changeset
66 +
141
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
67 +It's also interesting to note that sequences weren't used to define algorithms
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
68 +as planned but were re-fitted as ``functions'' as we started to write object
142
cbff597d307e Wip doc
Louis Opter <louis@lse.epita.fr>
parents: 141
diff changeset
69 +oriented code around \rtx\ types. Some sequences are also used to logically
141
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
70 +regroup chunks and pointcut but those chunks could be moved to types or could
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
71 +directly be top-level declarations within their interface.
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
72 +
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
73 +\subsection{Features we missed}
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
74 +
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
75 +The following compiler features:
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
76 +
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
77 +\begin{itemize}
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
78 +\item ``Object model'';
142
cbff597d307e Wip doc
Louis Opter <louis@lse.epita.fr>
parents: 141
diff changeset
79 +\item ref/scalar (let you express whether a variable or attribute is a pointer
cbff597d307e Wip doc
Louis Opter <louis@lse.epita.fr>
parents: 141
diff changeset
80 + or not);
141
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
81 +\item Error handling;
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
82 +\item Variadic sequences;
142
cbff597d307e Wip doc
Louis Opter <louis@lse.epita.fr>
parents: 141
diff changeset
83 +\item Arrays support (maybe we could have ref, scalar and array?);
cbff597d307e Wip doc
Louis Opter <louis@lse.epita.fr>
parents: 141
diff changeset
84 +\item Comments pass-through;
141
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
85 +\item Type coercion to \texttt{Builtin::symbol}.
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
86 +\end{itemize}
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
87 +
142
cbff597d307e Wip doc
Louis Opter <louis@lse.epita.fr>
parents: 141
diff changeset
88 +Are really needed; the ref/scalar distinction has been implemented in 2013 and
cbff597d307e Wip doc
Louis Opter <louis@lse.epita.fr>
parents: 141
diff changeset
89 +works ok.
141
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
90 +
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
91 +\subsubsection{``Object model''}
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
92 +
142
cbff597d307e Wip doc
Louis Opter <louis@lse.epita.fr>
parents: 141
diff changeset
93 +The driver code started to organically organize itself into types, with methods
cbff597d307e Wip doc
Louis Opter <louis@lse.epita.fr>
parents: 141
diff changeset
94 +(chunks attached to a type which take an explicit \texttt{self} argument of
cbff597d307e Wip doc
Louis Opter <louis@lse.epita.fr>
parents: 141
diff changeset
95 +that type) and attributes, that loosely correspond to classes. We ran different
cbff597d307e Wip doc
Louis Opter <louis@lse.epita.fr>
parents: 141
diff changeset
96 +into issues:
141
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
97 +
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
98 +\begin{itemize}
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
99 +\item Methods call aren't working;
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
100 +\item Type dependencies aren't resolved correctly, so they aren't generated in
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
101 + the right order;
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
102 +\item \texttt{\$\{self\}} is ambiguous, how do you know when it's a scalar or a
142
cbff597d307e Wip doc
Louis Opter <louis@lse.epita.fr>
parents: 141
diff changeset
103 + method? (this is important to define the \texttt{init} method);
141
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
104 +\item Abstract data types should probably be framed/defined in the language;
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
105 +\item Mappings aren't resolved recursively;
142
cbff597d307e Wip doc
Louis Opter <louis@lse.epita.fr>
parents: 141
diff changeset
106 +\item Mappings can't use \rtx\ code in them (e.g: you can't use
141
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
107 + \texttt{\$\{Rathaxes::Type.ref\}} in a mapping definition);
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
108 +\item Circular dependencies aren't supported (in e1000 the rings and the
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
109 + hardware context are inter-dependant, you can't avoid that);
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
110 +\item Type injections in upper sub-system (i.e: inject \texttt{e1000::Context}
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
111 + into \texttt{Ethernet::Device}), that has been implemented with regular
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
112 + pointcut but we need another kind of pointcut to only weave the type (and
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
113 + not the full structure field).
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
114 +\end{itemize}
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
115 +
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
116 +\subsubsection{Error handling}
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
117 +
142
cbff597d307e Wip doc
Louis Opter <louis@lse.epita.fr>
parents: 141
diff changeset
118 +This has been deliberately left out in \rtx\ 2012 but it seems that the
141
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
119 +biggest difficulty is going to define and then inject the error handling code
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
120 +into the parent chunk/context appropriately.
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
121 +
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
122 +\section{Implementation issues}
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
123 +
142
cbff597d307e Wip doc
Louis Opter <louis@lse.epita.fr>
parents: 141
diff changeset
124 +Bugs are impairing development:
141
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
125 +
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
126 +\begin{itemize}
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
127 +\item Expansion bugs:
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
128 +\begin{itemize}
142
cbff597d307e Wip doc
Louis Opter <louis@lse.epita.fr>
parents: 141
diff changeset
129 +\item Obscure expansion issues solved by scoping things;
141
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
130 +\item Variable declarations leaking across different chunks;
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
131 +\item Chunk/Pointcut parameters not bound to the C variables (the parameters
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
132 + must be named like the C variables are).
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
133 +\end{itemize}
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
134 +\item CNorm issues: it's impossible to use annotation (e.g: \texttt{\_\_init},
142
cbff597d307e Wip doc
Louis Opter <louis@lse.epita.fr>
parents: 141
diff changeset
135 + \texttt{\_\_exit}, \texttt{\_\_iomem}\ldots) or arbitrary typedef'd
141
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
136 + types;
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
137 +\item Some sequences call aren't working for obscure reasons (e.g:
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
138 + \texttt{DMA::unmap}).
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
139 +\end{itemize}
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
140 +
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
141 +\end{document}
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
142 diff --git a/rathaxes/samples/e1000/e1000.blt b/rathaxes/samples/e1000/e1000.blt
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
143 --- a/rathaxes/samples/e1000/e1000.blt
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
144 +++ b/rathaxes/samples/e1000/e1000.blt
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
145 @@ -809,7 +809,7 @@
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
146
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
147 chunk LKM::code()
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
148 {
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
149 - static int rtx_e1000_tx_ring_alloc_resources(${e1000::TxRing.ref} self)
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
150 + static int rtx_e1000_tx_ring_alloc_resources(${e1000:::TxRing.ref} self)
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
151 {
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
152 ${Log::info("e1000_tx_ring_alloc_resources: TBD...")};
85c2fa6f6bd8 Wrap-up wip
Louis Opter <kalessin@kalessin.fr>
parents:
diff changeset
153 return 0;