Le mardi 17 mars 2015 à 23:58 +0100, Paul Kocialkowski a écrit :
> Le mardi 17 mars 2015 à 09:36 +0100, Hans de Goede a écrit :
> > Hi,
> > 
> > On 16-03-15 23:02, Paul Kocialkowski wrote:
> > > Le lundi 16 mars 2015 à 14:45 +0100, Hans de Goede a écrit :
> > >> Hi,
> > >>
> > >> On 16-03-15 13:31, Olliver Schinagl wrote:
> > >>> Hey,
> > >>>
> > >>> On 16-03-15 10:52, Hans de Goede wrote:
> > >>>> Hi,
> > >>>>
> > >>>> Oops, missed a bit to reply to, see below:
> > >>>> On 16-03-15 10:04, Olliver Schinagl wrote:
> > >>>>
> > >>>>> Also, which part of the SID do we want in /proc/cpuinfo? The one is 
> > >>>>> bigger then the other, though looking at 
> > >>>>> http://linux-sunxi.org/SID_Register_Guide there's a lot of 
> > >>>>> non-uniqueness that can be ignored (chip ID (1623 for example).
> > >>>>
> > >>>> I would say all of it, serial numbers often also contain
> > >>>> a fixed bit with model info, for /proc/cpuinfo that is fine.
> > >>> but isn't the serial in /proc/cpuinfo limited to a certain number of 
> > >>> bits?
> > >>
> > >> Could be, whomever writes patches for this needs to look into that, and
> > >> if necessary truncate the SID somehow.
> > >
> > > As far as I can see, the SID has (at least) 4 32bit words. It seems that
> > > there is more on e.g. A20 but those are not always populated, so I think
> > > it's safer to go with those 4 words and somewhat use them to come up
> > > with a serial.
> > >
> > > The Linux kernel serial ATAG (shown in cpuinfo) is only 2 32bit words,
> > > so we will have to get rid of half of the (usable) SID.
> > 
> > AFAIK ATAG-s are pretty much dead when using a devicetree enabled platform,
> > how does this work in the devicetree world ?
> 
> You're right, ATAGs are not used anymore when devicetree is there.
> As far as I could see, the kernel command line is provided through the
> "chosen" dt node, but the serial number, as well as revision, are not
> passed to the kernel at all this way, so they always remain blank.
> 
> I think it would be worth providing the serial and revision back through
> the dt logic, so I'll perhaps try to come up with something for both
> U-Boot and Linux. However, serial and revision are specific to ARM and
> the dt logic in the kernel is common (at least the part that handles
> cmdline), so I have yet to figure out how to get it right.
> 
> In the meantime, it still makes sense to provide it through ATAGs for
> the 3.4 kernel and to have it for internal use in U-Boot (e.g. for USB
> Download gadgets such as fastboot).
> 
> > > The first half seems prefixed depending on the SoC platform, which
> > > reduces the possible number of different combinations (but that's
> > > probably not really a problem) and as Hans mentioned, it isn't unusual
> > > to have a common part depending on the model. I suggest going with it.
> > 
> > Actually if we need to truncate I think it would be good to have as
> > much random bits in there as possible, we've a collection of SID-s here:
> > 
> > http://linux-sunxi.org/SID_Register_Guide
> > 
> > As you can see the last 32bit word is the most random one, for MAC
> > addresses we use the least significant byte of the first 32bit word
> > (which seems to be random in that table, but seems to be a fixed
> > value on later Axx SOCs) combined with the entire last 32 bit
> > word. So for the serial we could use the first and last 32 bit words,
> > this will give us the model prefix, instantly showing the soc model
> > in the serial + 32 unique bits per board.
> 
> That looks like a fair bargain to me. I was starting to worry that some
> of the first 64 bit words from the SID look too much alike on some
> devices such as the Cubietruck.
> 
> I'll try to come up with a patch for this soon (tomorrow if possible).

Just sent a patch to the u-boot list and tested on the devices I had at
disposal (A13 and A20). I would appreciate it if someone could test on
devices that have the SID registers on the AXP.

In U-Boot, printenv shows:
serial#=1625428e04815f6a

When using U-Boot with USB in gadget mode and fastboot, I get (on the
host):
# fastboot devices
1625428e04815f6a fastboot

I only booted the sunxi-3.4 kernel on sun5i/A13 to test that the ATAG
went through, resulting in:
root@localhost:~# cat /proc/cpuinfo 
Processor       : ARMv7 Processor rev 2 (v7l)
BogoMIPS        : 1001.88
Features        : swp half thumb fastmult vfp edsp neon vfpv3 tls 
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x3
CPU part        : 0xc08
CPU revision    : 2

Hardware        : sun5i
Revision        : 0000
Serial          : 1625428e04815f6a

So everything looks good. The patch goes on top of the patches I
submitted a few days ago.

> Thanks for your input!

-- 
Paul Kocialkowski, Replicant developer

Replicant is a fully free Android distribution running on several
devices, a free software mobile operating system putting the emphasis on
freedom and privacy/security.

Website: http://www.replicant.us/
Blog: http://blog.replicant.us/
Wiki/tracker/forums: http://redmine.replicant.us/

-- 
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to