diff --git a/etherbone.lua b/etherbone.lua index f91ed877da5b925d9edbe7030a7888ed5150d9a7..d7f780e54f58cc5d67febfd396d4fb421abd44b2 100644 --- a/etherbone.lua +++ b/etherbone.lua @@ -59,6 +59,7 @@ eb.hdr_magic = ProtoField.uint16("eb.hdr.magic", "Magic ", base.HEX, n eb.hdr_ver = ProtoField.uint16("eb.hdr.ver", "Version ", base.DEC, nil, 0xF000) eb.hdr_proberep = ProtoField.uint16("eb.hdr.proberes", "Probe Reply ", base.DEC, VALS_BOOL, 0x0200) eb.hdr_probereq = ProtoField.uint16("eb.hdr.probereq", "Probe Flag ", base.DEC, VALS_BOOL, 0x0100) +eb.hdr_noreads = ProtoField.uint16("eb.hdr.noreads", "No Reads ", base.DEC, VALS_BOOL, 0x0100) eb.hdr_adrs = ProtoField.uint16("eb.hdr.adrw", "Address Width ", base.DEC, VALS_SIZE , 0x00F0) eb.hdr_ports = ProtoField.uint16("eb.hdr.portw", "Port Width ", base.DEC, VALS_SIZE , 0x000F) @@ -121,8 +122,9 @@ function proto_eb.dissector(buf, pinfo, tree) t_hdr:add( eb.hdr_magic, buf(0,2)) -- magic t_hdr:add( eb.hdr_ver, buf(2,2)) -- version - t_hdr:add( eb.hdr_proberep, buf(2,2)) -- probe - t_hdr:add( eb.hdr_probereq, buf(2,2)) -- probe + t_hdr:add( eb.hdr_proberep, buf(2,2)) -- probe response + t_hdr:add( eb.hdr_probereq, buf(2,2)) -- probe request + t_hdr:add( eb.hdr_noreads, buf(2,2)) -- no reads t_hdr:add( eb.hdr_adrs, buf(2,2)) -- supported addr size t_hdr:add( eb.hdr_ports, buf(2,2)) -- supported port size diff --git a/spec/spec.tex b/spec/spec.tex index 99f8e806d125c9c7f59a97d94edecebaef1f5879..9b8c3d15bda0b22a51dbbe7739f97701d7fb4475 100644 --- a/spec/spec.tex +++ b/spec/spec.tex @@ -292,6 +292,8 @@ Section~\ref{sec:eb-master}. \subsection{Config Space} +!!! always bigendian + In addition to remote bus access, Etherbone also provides a configuration space. This config space is used to specify transmission parameters, @@ -321,6 +323,9 @@ where they can be handled by the EB core/code and invisible to the WB bus. \subsection{Bus Widths} +!!! discuss width in header => port width + as opposed to operation width using select lines + In Wishbone, a bus may have a port width that is 8/16/32/64 bits wide. Thus, a master in one WB bus might write 32-bits at a time, @@ -745,7 +750,8 @@ conforming Etherbone hardware or software implementation. \bitheader{0,4,7,8,16} \\ \bitbox{16}{\nameref{field:Magic} (0x4E6F)} \\ \bitbox{4}{\nameref{field:Version}} & - \colorbitbox{\reserved}{2}{} & + \colorbitbox{\reserved}{1}{} & + \bitbox{1}{\rotatebox{90}{\small \nameref{field:NR}}} & \bitbox{1}{\rotatebox{90}{\small \nameref{field:PR}}} & \bitbox{1}{\rotatebox{90}{\small \nameref{field:PF}}} & \bitbox{4}{\nameref{field:AddrSz}} & @@ -855,6 +861,12 @@ device should appear in the \nameref{field:AddrSz} and \nameref{field:PortSz} fi The \nameref{field:Version} field should contain the largest of the requested version and the supported version. +\paragraph{NR} \label{field:NR} + +!!! fixme !!! + +The No-Reads flag (NR) is used to indicate ... + \paragraph{AddrSz} \label{field:AddrSz} In principle,