4 ms·
I'm unclear on how these hardware fuses actually work. Are they actual fuses that can be burnt on will by excessive power? When the article says: > The boot l
by outadoc 6y ago
I'm unclear on how these hardware fuses actually work. Are they actual fuses that can be burnt on will by excessive power?
When the article says:
> The boot loader verifies a specific fuse, FUSE_RESERVED_ODM7, to prevent downgrading. Each software version expects a different number of fuses to be blown [...]
Does this mean FUSE_RESERVED_ODM7 actually contains multiple fuses?
- ThePowerOfFuet 6y ago> I'm unclear on how these hardware fuses actually work. Are they actual fuses that can be burnt on will by excessive power? No, they're not like the fuses in your house. These can be blown by software to irrevocably change something which can then be verified later, or in other cases to prevent reprogramming of a microcontroller (which can be programmed only if the programming fuse is still intact. >Does this mean FUSE_RESERVED_ODM7 actually contains multiple fuses? No, that's the name of one fuse. Once you upgrade the device next time, the upgrade tool would, for example, blow FUSE_RESERVED_ODM8; older software would verify that this fuse (and the higher-numbered ones) are NOT blown, and refuse to boot otherwise.
- outadoc 6y agoThanks! Definitely more clear.
- arghwhat 6y ago> No, that's the name of one fuse. No, it's a 32-bit segment belonging to the 256-bit odm_reserved segment. FUSE_RESERVED_ODM7 is specifically the last 32-bit segment. Some fuse information can be read here: https://docs.nvidia.com/jetson/archives/l4t-archived/l4t-3231/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/bootloader_secure_boot.html https://docs.nvidia.com/jetson/archives/l4t-archived/l4t-323....
- arghwhat 6y ago"Fuses" in this context are just non-volatile memory that cannot be reset. Once a bit is set to 1, it stays there. They're often used for configuration and for things like sealing off programming/readout on microcontrollers. FUSE_RESERVED_ODM7 is 32 bits wide, hence contains "32 fuses". The system has many fuses, but 256 bits (RESERVED_ODM0-RESERVED_ODM7) are for the device manufacturers to use for their own purpose, which is what Nintendo is doing here.
- londons_explore 6y agoOn some chips they are literally bits of polysilicon that burn. On most devices they're flash memory that doesn't have any circuitry to do erases.
- marcan_42 6y agoYou're thinking microcontrollers with flash. This is not one of those. Modern high performance CPUs/SoCs do not contain flash, ever (the processes are incompatible). When we talk about SoC fuses, we mean real fuses (or antifuses), not the Flash "fuses" of some microcontrollers (which can be erased with UV light). Actual technologies vary. It could be fuses (metal, polysilicon, or other) or antifuses (e.g. gate oxide breakdown, "blown" means it conducts), but they're all irreversible.
- pjc50 6y agoThey are the same concept, yes, but implemented in silicon; this short paper shows how it works with diagrams and a microscope photo. https://people.maths.ox.ac.uk/fowler/papers/2010.6.pdf https://people.maths.ox.ac.uk/fowler/papers/2010.6.pdf