On Tue, 26 Nov 2013 13:55:56 -0500 Vlad Yasevich <[email protected]> wrote: > > > > Thank for taking a look. I saw the AV bit in RAH as well. That's > > what got me asking the question. The data sheet says AV gets turns off > > on resets only. So if the address is changing from one value to > > another AV is still valid half way through the write just as you said > > Any news? Does the HW use the AV bit as a latch between RAL and RAH writes? > > If not, does it make sense for the driver to clear the AV before setting > the registers so that there is no window where a half-written address > may match an incoming packet? > > Thanks > -vlad > . > > > > The main reason I am asking is that in qemu we are working on completing > > a feature where a change in guest mac address is propagated to the host > > and the host can program that address to the nic card. The debate > > we have is when to do the notifications since we have 2 writes. > > One approach was to do it when RAH was written. If there is a > > requirement that RAH has to be written last, that's works great. > > However, if RAL and RAH can be written in any order, that doesn't work > > and we notify on every write. In this case, we could end up > > notifying twice and possibly writing incomplete mac address to HW. That > > seemed bad. So I was wondering how does HW behaves.
hardware is probably stupider than you think. :-) It likely just pays attention to AV bit and if the register changes and AV is valid, the receive filters are changed immediately. This is likely a long standing bug in the code that probably doesn't matter much at all. But to be 100% correct we should be clearing AV with the first RAH write, write new RAL , then enable AV with another write to RAH. My guess is the designers intended us to do: write AV 0 in RAH write RAL write new RAH with AV set write flush writes won't be reordered, so this should always work. I don't know if/when we would get to fixing this. :-( ------------------------------------------------------------------------------ Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk _______________________________________________ E1000-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/e1000-devel To learn more about Intel® Ethernet, visit http://communities.intel.com/community/wired
