Alistair Francis <alistair.fran...@xilinx.com> writes: > On Wed, Apr 9, 2014 at 9:58 PM, Peter Crosthwaite > <peter.crosthwa...@xilinx.com> wrote: >> On Wed, Apr 9, 2014 at 7:56 PM, Markus Armbruster <arm...@redhat.com> wrote: >>> We have a number of device model names containing '.'. They're unusable >>> with -global. That's because "-global A.B.C=foo" gets parsed as >>> >>> driver = "A" >>> property = "B.C" >>> value = "foo". >>> >>> Wrong when the device model name is really A.B and the property is C, >>> e.g. "-global cfi.pflash01.name". >>> >>> Related problem: QemuOpts ID may contain '.'. Such IDs are in fact >>> common practice. Unfortunately, they're unusable with -set. For >>> instance, -set A.B.C.D=foo gets parsed as >>> >>> group = "A" >>> id = "B" >>> arg = "C.D" >>> value = "foo" >>> >>> Wrong when the id is really B.C and the arg is D, e.g. "-device >>> isa-serial,id=s.0 -set device.s.0.chardev=c0". This issue isn't limited >>> to devices. >>> >>> Related historical problem: commit b560a9a. >>> >>> Possible solutions: >>> >>> * Outlaw '.' in QemuOpts parameter names (and thus device model names >>> and property names, because QemuOpts is a major way for users to >>> specify them). >>> >> >> I like the "."s because they mean "this is where the vendor stops and >> the IP name starts". Whereas "-" just delimits multiple words. We seem >> to be running our of characters however with these overloading >> problems. But AFAICT ":" is largely unused (within this context >> anyway). So how about: >> >> "-" seperates multiple words in a name >> ":" splits logical groupings of multiple words as appropriate ( e.g. >> some-vendor:their-device ) >> "," demilits multiple command line arguments >> "." accesses property within an object >> "/" walks the canonical path >> >> I do also need to confess to my alternate agenda of device tree driven >> QEMU - I am still parsing device trees and directly mapping the >> compatible strings to QOM type names for machine creation. Ambiguity >> of "-" as meaning the "," or the "-" is hard to deal with. >> >> Regards, >> Peter >> >>> * Resolve the syntactic ambiguity semantically (ugh) >>> >>> * Extend the syntax of -global and -set to let users avoid the issue, or >>> replace them outright >>> >>> * Use the old ostrich algorithm >>> >>> Andreas, what restrictions does QOM place on QOM path component names? >>> No '/', obviously. Anything else? >>> >> > > What is the consensus with this? I like Peter's naming suggestions as > they are straight > forward and don't break any compatibility.
I'd like to hear a few more opinions, Andreas's in particular. Give him a bit more time to chime in.