On Wed, May 05, 2021 at 10:57:56AM +0200, Rocky Hotas wrote: > MACHINE is defined in the paper as a platform (par. 5.1). Intuitively, > yes, MACHINE seems related to a whole computer (so, a collection > of hardware devices with its standards and conventions) and > MACHINE_ARCH is somewhat more specific, being related to a specific > CPU, but MACHINE is still a somewhat blurry element to me.
A MACHINE is a concrete thing, it belongs to a broader group of similar (but not identical) other machines of the same MACHINE_ARCH. How wide the range of MACHINE_ARCH goes, depends on details, e.g. there are lots of very different MACHINE (mac68k, atari, amiga, sun3, next68k, mvme68k...) for MACHINE_ARCH = m68k. This is because we made userland compatible. Similar for MACHINE_ARCH = powerpc. However, due to tiny but important instruction differences, we have probably more earm* MACHINE_ARCH's than MACHINEs for MACHINE_ARCH=m68k. So in short: MACHINE_ARCH may be shared with other MACHINEs. Userland programs (ignoring device specific ioctl helpers) do not care about MACHINE but only require the MACHINE_ARCH. Martin