On 04/02/14 00:45, Olivier Danet wrote:
OpenBIOS's current behavior does not match any other !
For "next-property" we have 3 cases : a) The property is not the last b) The property is the last c) The property does not exist
Current OpenBIOS : a) -1 "string" b) 0 c) nothing Standard : a) true "string" b) false c) false Sun Ultra10 : a) -1 "string" b) nothing c) nothing PowerPC iBook : a) -1 "string" b) -1 0 0 c) 0 Previous patch : a) -1 "string" b) 0 c) 0
The 'standard' way makes next-property more useable as a Forth word, but, really, I don't care.
The aim of OpenBIOS is to be a standards-compliant firmware, so the default implementation should match the IEEE1275 specification. Where we deviate (e.g. for emulation purposes) then we should use whatever [IFDEF] trickery is required to realise the correct behaviour, and clearly mark it with an appropriate comment.
The PowerPC result is interesting; I had a problem with MorphOS PPC getting stuck in a device tree loop in the past and I'm wondering if this was the cause...
ATB,
Mark.