)]}' { "commit": "c6877763cd3a286983df160c8207368174c1b820", "tree": "fa0cd8aaf6c222459ebf867c3a2eba3e36bf4356", "parents": [ "402d2316c8a959dc011b5775970a6677edb20b17" ], "author": { "name": "Andre Przywara", "email": "andre.przywara@arm.com", "time": "Fri Oct 07 12:19:05 2022 +0100" }, "committer": { "name": "Andre Przywara", "email": "andre.przywara@arm.com", "time": "Thu Oct 20 16:11:26 2022 +0100" }, "message": "fix(aarch64): make AArch64 FGT feature detection more robust\n\nThe ARMv8 ARM says about the values in the ID register scheme:\n\n\u003d\u003d\u003d\u003d D17.1.3 Principles of the ID scheme for fields in ID registers \u003d\u003d\u003d\nThe ID fields, which are either signed or unsigned, use increasing\nnumerical values to indicate increases in functionality. Therefore,\nif a value of 0x1 indicates the presence of some instructions, then\nthe value 0x2 will indicate the presence of those instructions plus\nsome additional instructions or functionality. This means software\ncan be written in the form:\n if (value \u003e\u003d number) {\n // do something that relies on the value of the feature\n }\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSo to check for the presence of a certain architecture feature, we\nshould not check against a certain specific value, as it\u0027s done right\nnow in several cases.\n\nRelax the test for Fine Grained Trapping (FGT) to just check against\nthe field being 0 or not.\n\nThis fixes TF-A crashing due to an unhandled exception, when running a\nLinux kernel on an FVP enabling ARMv8.9 features. The value of\nID_AA64MMFR0_EL1.FGT went from 0b0001 to 0b0010 there.\n\nChange-Id: Ic3f1625a7650306ed388a0660429ca8823c673c2\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\n", "tree_diff": [ { "type": "modify", "old_id": "9ec114c958f3990bab5ecaac13d0ebc1232fe0cf", "old_mode": 33188, "old_path": "include/arch/aarch64/arch_features.h", "new_id": "932e8850afe2d91677abfaba7a989b7b50e5e157", "new_mode": 33188, "new_path": "include/arch/aarch64/arch_features.h" } ] }