raghav3276
raghav3276

Reputation: 1098

ARM Machine/Board ID

I am curious to know about the significance of Board/Machine ID. I have a few questions pertaining to it:

  1. Is machine ID equal to that of board ID or different?
  2. What is the significance of this ID when it comes to boot-loader and kernel booting?
  3. Who decides the board ID?
  4. Is the ID relevant to only ARM architecture, or is the concept applicable to other platforms as well?
  5. How to view the board ID of a particular machine?
  6. Is is specific to booting Linux?

Any other info. in addition to these questions are welcome.

Thanks in advance.

Upvotes: 3

Views: 5446

Answers (1)

Notlikethat
Notlikethat

Reputation: 20924

The "Machine ID" in this context is specific to ARM Linux, and the numbers were assigned by the ARM kernel maintainer. Machines supported in mainline are listed in arch/arm/tools/mach-types; the full registry can be found here.

ARM systems are problematic in that there is no "standard" hardware layout (e.g. the IBM PC-compatible for x86), no standard firmware (e.g. ACPI BIOS), and most peripherals are directly connected to the CPU rather than being behind a probable bus (e.g. PCI). Hence the ARM kernel had to rely on the bootloader telling it what machine it's running on, thus which hard-coded hardware definition/support code to use (see arch/arm/mach-*/).

Note that this system is now obsolete and the preferred way of describing hardware is with Device Tree, which removes most of the need to fill the kernel with machine-specific code (indeed many of those older systems that are still supported are being converted from "boardfiles" to DT).

Upvotes: 6

Related Questions