Intel Edision has 64-bit CPU on the board (48-bit addressing && lm flag in /proc/cpuinfo).
Is there any x86_64 or even better x32 images for this device?
How to build 64-bit kernel using Yocto Linux tools?
Although I haven't created my own custom image for the Edison yet, the Intel Edison Board Support Package that goes over creating a custom image does show that one can choose a 64 bit kernel in the section Customizing the Linux Kernel. That BSP document can be found here:
The process of customizing your Edison image (as per the BSP) outlines how to add and remove packages for the image as well.
There is a Debian Wheezy (stable) based ubilinux image that you can find discussed here. /message/256964# 256964 https://communities.intel.com/message/256964# 256964
Out of curiosity - why would you need one? There's only a gig of RAM anyway. And I'm not 100% sure, but I was under impression it should be 32-bit core, even though flags may say otherwise (which could be just a phantom of the SoCs previous life).
AlexT_Intel, is it really _not_ a 64 bit core? I was kind of going by what is advertised in the flags? I thought the Atom was always 64 bit?
Appreciating that there is a difference in 64 bit and Intel_64 instruction set.
Not all Atoms are 64 bit (http://ark.intel.com/search/advanced?s=t&FamilyText=Intel%C2%AE%20Atom%E2%84%A2%20Processor&Instruct... example list).
I don't have any other information about this core than in the public docs.
And the /docs/DOC-23158 Edison Compute Module HW Guide says it's IA-32 core (page 10, section 3.1). On the other hand, we see that flag reported by Linux and the same HW guide says it's Atom Z34xx core.There are only two processors in this family http://ark.intel.com/search/advanced?s=t&FamilyText=Intel%C2%AE%20Atom%E2%84%A2%20Processor%20for%20... reported by ARK and both are 64-bit, however none of them matches the one used in Edison, it uses a heavily modified version of that SoC as far as I understand, so we can't just assume it's going to have the same features as those models listed in ARK. Other documents in the Documentation section of the community (like Product Brief and the IDF presentation) don't specifically mention bitness of the Atom core.
So at the end of the day, IMHO it's either a 32bit core with 64 bit features switched off in such a way that flag is still there, but actual 64bitness doesn't work (artifact from the past I mentioned earlier), or it's actually a 64bit one, but for whatever reason that bitness is not supported right now (all the toolchains and Yocto configs for Edison are 32bit). After all, it only has 1GB of RAM and enabling 64bit won't give any real benefit as far as can think of.
Thanks for the info, I feel I have been schooled. We could then also use ARK to check that 22nm and 32-bit reveals no subset.
To quote Dire Straights (Industrial Disease) "Two men say their Jesus, one of them must be wrong" So one, both, or all of the documents are incorrect.
If it is a new class, such as the Quark, why is it not listed and classified "Edison".
If you mean schooling in http://www.urbandictionary.com/define.php?term=getting%20schooled this sense then I was nowhere near that when writing the above Actually I was puzzled by that too as I haven't looked at the cpuinfo flags on Edison and I always believed it's unquestionably 32bit based on that information I saw previosly, so I did some research to understand what's going on. Not much came out as we can see, but I guess that's probably the same thing as with other documentation - it's just a bit behind the actual product and it will be fixed at some point in the future.
I wasn't thinking Urban dictionary, but of an episode of the Big Bang. I noted that on a preboot sequence of the board that fails to provide the ota drive, Windows Device manager identified the Edison as Merrifield -- and the z3460 Merrifield was 64 bit as by ARK, however, if the provided Intel support is for the 32 bit Yocto os, with 32 bit libraries -- I could see where documenting as 32 bit. If it was stated as 64, then support would need to be simultaneous 32 and 64.
How do we see what became of the z3460 - I noted that ARK does not list it with a tray price and refers to it as Formerly Merrifield with no suppliers listing the z3460
I don't have any other information about this core than in the public docs.
We need more public docs, specifically low-level stuff, if Intel expect us to create and invent using this new platform. I think you can appreciate that 'is it really 32bit or is it 64bit' and
'are those cpu flags really supported' are important questions that software developers need to know if they are looking to implement anything closer to bare metal (and they will, because a 10~15 second bootup time isn't acceptable for consumer appliances). I'm sure they're being worked on and I'm sure the delay is due to the definition of the platform still being somewhat in flux but the sooner the better
After all, it only has 1GB of RAM and enabling 64bit won't give any real benefit as far as can think of.
There is an advantage to using a 64bit kernel with a 32bit userland - kernel code gets access to more, wider, registers and extended instructions, while application code remains small and memory-efficient. As far as I know this is the optimal configuration for a 64bit platform with less than 4gb physical memory. There are also applications that could be compelling on the Edison that are only available in 64bit environments despite not requiring > 4gb physical memory (docker maybe? A stretch I know but such things do exist).
You know the neat thing about the Edison is that it uses the same Intel instructions that have been around for years. If we want to get to the bare metal without sulfur, we grab your assembler at the command console and tap it out. Intel does provide us with the same massive 7 volume instruction set and guide that has been on the website for years. If you are good at 64 bit assembly, we'd be able to go through all the flags and test the associated instructions - then we'd know. First we have to port a 64 bit kernel - which I am sure bitbake and the source code provided could give our own insights.
So, the low level stuff is here (my copy of the seven volumes still downloading) the Merrifield specs http://ark.intel.com/products/70103/Intel-Atom-Processor-Z3460-1M-Cache-up-to-1_60-GHz ARK | Intel® Atom™ Processor Z3460 (1M Cache, up to 1.60 GHz), for the included quark http://ark.intel.com/products/79084/Intel-Quark-SoC-X1000-16K-Cache-400-MHz ARK | Intel® Quark™ SoC X1000 (16K Cache, 400 MHz)
Windows identified my Edison as a Merrifield - that is the z3460 - the ARK shows that was a 64 bit dual core.
Intel may have a new name - good enough for me. The Quark specs are posted. Now, I agree, I am waiting for docs as well
on addresses, peripherals, how do we access etc - but I am certain it is the intel programming we've been use too.
Just see /proc/cpuinfo, it shows 'lm' in the flags which is long mode. I'm not usually one to believe the cpuid instruction lie so this is 64bit chip.
You mean Windows reported the vendor:product ID the usb gadget driver claimed. This isn't 'proof' of the exact core used in the SoC. Intel themselves have stated that a lot has changed from the original core including feature removal - an Intel rep themselves said right here in this very thread that they weren't 100% sure if it was 32bit or 64bit. Keep in mind there's more to it than merely being a 64bit core - the 'bios' (which appears to be based on viperOS after running strings on the ifwi bins) needs to participate, as does u-boot to load a 64bit kernel. Until you've actually successfully booted a 64bit kernel I would avoid making any concrete claims one way or the other.
It also lists the hyperthreading flag as do the docs for the original base soc but I don't see 2 additional logical cores coming up. Of course hyperthreading is often disabled by bioses without the cpuflag being masked out but I guess the point here is that such things require more than mere cpu support, they require platform support and as of yet we don't have a definitive answer on that.
anomaly256, I am going agree with arfoll - I am satisfied enough that it is probably a 64 bit SoC. Feel free to dig around for more clues. Personally, I am satisfied.
When you make a chip using 22nm, and ARK reports all the z34xx's as 64 bit - I am satisfied. Regardless what features have been fused off, pins repurposed, and functions not exposed, -- how would they change a 64 bit back to 32 bit ?
deium, sure. I agree it's very likely to be 64bit and the current 32bit state of the software is just incidental. All I'm saying is Intel need to give us some real datasheets for the SoC and remove the ambiguity. Also there's currently no telling if the IFWI and u-boot loaders it uses will even allow the startup of 64bit code until someone tries it or Intel confirm - I have seen this artificial limitation elsewhere in Intel hardware/firmware mind you. Particularly with Atom netbooks and the like.
I will experiment because that's what I enjoy doing
I'll report back here if I find out anything definitive, if Intel haven't yet.
anomaly256, agreed that more info / docs is nice. I am going to see about installing a 64 bit kernel, but not my highest priority, The other aspect is that unless someone corrects me on this, I do believe that core2-32 has the ability to run 64 bit libraries - and I am not sure if that proves the 64bit point or not.
Now, I am not Intel and as I have said, windows identified one of mine eddys as a Merrifield, that also wouldn't necessarily mean that all edisons were Merrifields.
Galileos are Quarks - tonnes of documentation. But if a multiple of compatible SoC's were used with common components active and exposed while not exposing unique to SoC modules -you'd get the same result but hard to document "outside-of-purpose" features/specs