Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

RE: lack of address frame after reset






Allan brings up a valid issue with the new MDIO interface.  If a read or write
is done after a reset without the address register being set, undefined
operation will result.  But this is easy to fix.  All we have to do is define
that the address register is reset to zeros whenever a reset occurs.  Now the
operation is deterministic.  We could further define the register at address
zero to be a NOP.  Writes don't effect anything and reads return all zeros.
This prevents errant software from disrupting unintended register bits if it
doesn't follow the correct protocol.

--Don Pannell





"Edward Turner" <Edward_Turner@xxxxxxxxxxxx> on 11/21/2000 02:39:14 AM

To:   stds-802-3-hssg@xxxxxxxx
cc:    (bcc: Donald Pannell/Marvell)
Subject:  RE: lack of address frame after reset






Allan,

I understand the concerns you are raising, but I don't think that any further
sequence checking is required in the standard.  I don't believe that guards
against errant MDIO software have been included in previous parts of the
standard.  If the software is not working correctly its behaviour is undefined.
It could issue address frames and start writing to random locations.

Regards
Ed





"Allan Keung" <akeung@xxxxxxxxxxxxxxxxxx> on 20/11/2000 15:18:38

Sent by:  "Allan Keung" <akeung@xxxxxxxxxxxxxxxxxx>


To:   Edward Turner/GB/3Com@3Com, stds-802-3-hssg@xxxxxxxx
cc:
Subject:  RE: lack of address frame after reset





Ed,

Draft D1.1 Clause 33 on P.92 said w.r.t. the address registers -
"At power up or device reset, the contents of the address register
are undefined."

After power-up or reset, for the case of an ill-behaved software
that does not specify at least one address frame first
before proceeding to a write or read operation, what should be
the response of a MMD?

I suppose for a write operation, the write will be simply ignored.
What about a read operation, should the MMD responds with a 0
(as if addressed to an undefined register) or no response at all
(as if the wrong port/device is addressed).

Can the spec. be more definitive on this point?

Regards,

Allan