Open Bug 1514272 Opened 5 years ago Updated 2 years ago

add support for instruction set extension detection for aarch64 (telemetry/updater)

Categories

(Core :: XPCOM, enhancement, P3)

enhancement

Tracking

()

People

(Reporter: robert.strong.bugs, Unassigned)

References

(Blocks 2 open bugs)

Details

The CPU instruction set detection in nsSystemInfo.cpp doesn't work with Windows ARM64 as it does for our other platforms.
https://dxr.mozilla.org/mozilla-central/source/xpcom/base/nsSystemInfo.cpp#385

The update server (balrog) doesn't use this information for Windows ARM64 updates yet but it is likely that it will need it at some point as it has for other platforms.
I think this info comes from
https://dxr.mozilla.org/mozilla-central/source/mozglue/build/SSE.cpp
Flags: needinfo?(robert.strong.bugs)
(In reply to Robert Strong (Robert he/him) [:rstrong] (use needinfo to contact me) from comment #2)
> I think this info comes from
> https://dxr.mozilla.org/mozilla-central/source/mozglue/build/SSE.cpp

OK, but that's fine, because we implicitly turn all of those off for non-x86 machines, e.g.:

https://dxr.mozilla.org/mozilla-central/source/mozglue/build/SSE.h#233-245

ARM and aarch64 would fall into the arm of the #ifdef that always returns false.

Same thing for the various bits of ARM cpu extensions:

https://dxr.mozilla.org/mozilla-central/source/mozglue/build/arm.h#104-112

I'm unsure of what the original request is asking for--is the code in nsSystemInfo.cpp broken in some way, or should we be checking for various aarch64 cpu extensions, or something else?
Flags: needinfo?(robert.strong.bugs)
We should be checking for various arm cpu instruction sets. If at some point a minimum instruction set is required by our builds we will need to let the clients that don't have the minimum instruction set know that their system is no longer supported and we will need to advertise an update to those clients that are supported.
Flags: needinfo?(robert.strong.bugs)
(In reply to Robert Strong (Robert he/him) [:rstrong] (use needinfo to contact me) from comment #4)
> We should be checking for various arm cpu instruction sets. If at some point
> a minimum instruction set is required by our builds we will need to let the
> clients that don't have the minimum instruction set know that their system
> is no longer supported and we will need to advertise an update to those
> clients that are supported.

Ah, OK, that makes sense.  I don't think there's anything out there that's important enough to merit an event like the SSE2 requirement, but gathering telemetry on various extensions would be a good thing.
Priority: -- → P3
Summary: Add support for CPU Instruction Set detection for Windows ARM64 → add support for instruction set extension detection for aarch64 (telemetry/updater)
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.