| 344 | |
| 345 | #if defined(BARE_METAL) && defined(__aarch64__) |
| 346 | uint64_t get_sve_feature_reg() |
| 347 | { |
| 348 | uint64_t svefr0 = 0; |
| 349 | __asm __volatile(".inst 0xd5380483 // mrs x3, ID_AA64ZFR0_EL1\n" |
| 350 | "MOV %0, X3" |
| 351 | : "=r"(svefr0) |
| 352 | : |
| 353 | : "x3"); |
| 354 | return svefr0; |
| 355 | } |
| 356 | |
| 357 | uint64_t get_sme_feature_reg() |
| 358 | { |