331 warn(
"CP14 unimplemented crn[%d], opc1[%d], crm[%d], opc2[%d]",
332 crn, opc1, crm,
opc2);
418 if (crm == 0 &&
opc2 == 0) {
443 }
else if (crm == 1) {
452 }
else if (crm == 3) {
456 }
else if (opc1 == 4) {
462 }
else if (crm == 1) {
481 if (opc1 == 0 && crm == 0) {
490 }
else if (opc1 == 4) {
491 if (crm == 0 &&
opc2 == 2)
493 else if (crm == 1 &&
opc2 == 2)
498 if (opc1 == 0 && crm == 0 &&
opc2 == 0) {
503 if (opc1 == 0 && crm == 6 &&
opc2 == 0) {
512 }
else if (
opc2 == 1) {
515 }
else if (crm == 1) {
518 }
else if (
opc2 == 1) {
522 }
else if (opc1 == 4) {
528 }
else if (crm == 2 &&
opc2 == 0) {
534 if (opc1 == 0 && crm == 0) {
541 }
else if (opc1 == 4 && crm == 0) {
596 }
else if (
opc2 == 2) {
645 }
else if (
opc2 == 2) {
650 }
else if (opc1 == 4 && crm == 8) {
713 }
else if (opc1 == 4) {
721 }
else if (crm == 3) {
732 }
else if (crm == 4) {
739 }
else if (crm == 7) {
813 }
else if (opc1 == 1) {
832 }
else if (crm == 2) {
836 }
else if (
opc2 == 1) {
840 }
else if (crm == 3) {
843 }
else if (
opc2 == 1) {
847 }
else if (opc1 == 4) {
854 }
else if (crm == 3) {
887 }
else if (
opc2 == 1) {
890 }
else if (crm == 1) {
894 }
else if (crm == 8) {
913 }
else if (crm == 9) {
924 }
else if (crm == 11) {
931 }
else if (crm == 12) {
951 }
else if (opc1 == 4) {
952 if (crm == 0 &&
opc2 == 0) {
954 }
else if (crm == 8) {
965 }
else if (crm == 9) {
978 }
else if (crm == 11) {
993 }
else if (crm == 12) {
1012 }
else if (crm == 13) {
1031 }
else if (crm == 14) {
1050 }
else if (crm == 15) {
1070 }
else if (opc1 == 6) {
1099 }
else if (opc1 == 4) {
1100 if (crm == 0 &&
opc2 == 2)
1128 }
else if (opc1 == 4) {
1129 if (crm == 1 &&
opc2 == 0) {
1131 }
else if (crm == 2) {
1206 std::tuple<bool, bool>
1209 bool secure = !scr.ns;
1210 bool canRead =
false;
1211 bool undefined =
false;
1213 switch (cpsr.mode) {
1249 return std::make_tuple(canRead, undefined);
1252 std::tuple<bool, bool>
1255 bool secure = !scr.ns;
1256 bool canWrite =
false;
1257 bool undefined =
false;
1259 switch (cpsr.mode) {
1295 return std::make_tuple(canWrite, undefined);
1304 if (trap_cond && (!
EL2Enabled(tc) || !hcr.tge))
1320 int reg_as_int =
static_cast<int>(
reg);
1333 return isa->snsBankedIndex64(
reg, scr.ns);
1379 if (highest_el ==
EL2 || highest_el ==
EL3)
1384 if (highest_el ==
EL3)
1406 panic(
"Invalid exception level");
1437 panic(
"Invalid exception level");
1443 unsigned crn,
unsigned crm,
3388 static bool completed =
false;
3395 bool aarch32EL3 = haveSecurity && !highestELIs64;
3406 bool LSMAOE =
false;
3409 bool nTLSMD =
false;
3479 .privSecure(!aarch32EL3)
3489 .privSecure(!aarch32EL3)
3503 .allPrivileges().monSecureWrite(0).monNonSecureWrite(0);
3505 .allPrivileges().monSecureWrite(0).monNonSecureWrite(0);
3519 .allPrivileges().exceptUserMode();
3532 .allPrivileges().exceptUserMode();
3534 .allPrivileges().exceptUserMode();
3536 .allPrivileges().exceptUserMode();
3538 .allPrivileges().exceptUserMode();
3540 .allPrivileges().exceptUserMode();
3542 .allPrivileges().exceptUserMode();
3544 .allPrivileges().exceptUserMode();
3546 .allPrivileges().exceptUserMode();
3548 .allPrivileges().exceptUserMode();
3550 .allPrivileges().exceptUserMode();
3552 .allPrivileges().exceptUserMode();
3554 .allPrivileges().exceptUserMode();
3556 .allPrivileges().exceptUserMode();
3558 .allPrivileges().exceptUserMode();
3560 .allPrivileges().exceptUserMode();
3562 .allPrivileges().exceptUserMode();
3564 .allPrivileges().exceptUserMode();
3566 .allPrivileges().exceptUserMode();
3568 .allPrivileges().exceptUserMode();
3570 .allPrivileges().exceptUserMode();
3572 .allPrivileges().exceptUserMode();
3574 .allPrivileges().exceptUserMode();
3576 .allPrivileges().exceptUserMode();
3578 .allPrivileges().exceptUserMode();
3580 .allPrivileges().exceptUserMode();
3582 .allPrivileges().exceptUserMode();
3584 .allPrivileges().exceptUserMode();
3586 .allPrivileges().exceptUserMode();
3588 .allPrivileges().exceptUserMode();
3590 .allPrivileges().exceptUserMode();
3592 .allPrivileges().exceptUserMode();
3594 .allPrivileges().exceptUserMode();
3596 .allPrivileges().exceptUserMode();
3598 .allPrivileges().exceptUserMode();
3600 .allPrivileges().exceptUserMode();
3602 .allPrivileges().exceptUserMode();
3604 .allPrivileges().exceptUserMode();
3606 .allPrivileges().exceptUserMode();
3608 .allPrivileges().exceptUserMode();
3610 .allPrivileges().exceptUserMode();
3612 .allPrivileges().exceptUserMode();
3614 .allPrivileges().exceptUserMode();
3616 .allPrivileges().exceptUserMode();
3618 .allPrivileges().exceptUserMode();
3620 .allPrivileges().exceptUserMode();
3622 .allPrivileges().exceptUserMode();
3624 .allPrivileges().exceptUserMode();
3626 .allPrivileges().exceptUserMode();
3628 .allPrivileges().exceptUserMode();
3630 .allPrivileges().exceptUserMode();
3632 .allPrivileges().exceptUserMode();
3634 .allPrivileges().exceptUserMode();
3636 .allPrivileges().exceptUserMode();
3638 .allPrivileges().exceptUserMode();
3640 .allPrivileges().exceptUserMode();
3642 .allPrivileges().exceptUserMode();
3644 .allPrivileges().exceptUserMode();
3646 .allPrivileges().exceptUserMode();
3648 .allPrivileges().exceptUserMode();
3650 .allPrivileges().exceptUserMode();
3652 .allPrivileges().exceptUserMode();
3654 .allPrivileges().exceptUserMode();
3656 .allPrivileges().exceptUserMode();
3658 .allPrivileges().exceptUserMode();
3661 .allPrivileges().monSecureWrite(0).monNonSecureWrite(0);
3663 .allPrivileges().exceptUserMode();
3665 .allPrivileges().exceptUserMode();
3667 .allPrivileges().exceptUserMode();
3669 .allPrivileges().exceptUserMode();
3671 .allPrivileges().exceptUserMode();
3673 .allPrivileges().exceptUserMode();
3675 .allPrivileges().exceptUserMode();
3677 .allPrivileges().exceptUserMode();
3679 .allPrivileges().exceptUserMode();
3681 .allPrivileges().exceptUserMode();
3683 .allPrivileges().exceptUserMode();
3685 .allPrivileges().exceptUserMode();
3687 .allPrivileges().exceptUserMode();
3689 .allPrivileges().exceptUserMode();
3691 .allPrivileges().exceptUserMode();
3693 .allPrivileges().exceptUserMode();
3695 .allPrivileges().exceptUserMode();
3697 .allPrivileges().monSecureRead(0).monNonSecureRead(0);
3699 .allPrivileges().monSecureWrite(0).monNonSecureWrite(0);
3709 .allPrivileges().monSecureWrite(0).monNonSecureWrite(0);
3718 .allPrivileges().monSecureWrite(0).monNonSecureWrite(0);
3721 .allPrivileges().monSecureWrite(0).monNonSecureWrite(0);
3724 .allPrivileges().monSecureWrite(0).monNonSecureWrite(0);
3726 .allPrivileges().monSecureWrite(0).monNonSecureWrite(0);
3741 .allPrivileges().exceptUserMode().writes(0);
3743 .allPrivileges().exceptUserMode().writes(0);
3745 .allPrivileges().exceptUserMode().writes(0);
3747 .allPrivileges().exceptUserMode().writes(0);
3749 .allPrivileges().exceptUserMode().writes(0);
3753 .allPrivileges().exceptUserMode().writes(0);
3755 .allPrivileges().exceptUserMode().writes(0);
3757 .allPrivileges().exceptUserMode().writes(0);
3759 .allPrivileges().exceptUserMode().writes(0);
3761 .allPrivileges().exceptUserMode().writes(0);
3763 .allPrivileges().exceptUserMode().writes(0);
3765 .allPrivileges().exceptUserMode().writes(0);
3767 .allPrivileges().exceptUserMode().writes(0);
3769 .allPrivileges().exceptUserMode().writes(0);
3771 .allPrivileges().exceptUserMode().writes(0);
3773 .allPrivileges().exceptUserMode().writes(0);
3775 .allPrivileges().exceptUserMode().writes(0);
3777 .allPrivileges().exceptUserMode().writes(0);
3779 .allPrivileges().exceptUserMode().writes(0);
3781 .allPrivileges().exceptUserMode().writes(0);
3783 .allPrivileges().exceptUserMode().writes(0);
3785 .allPrivileges().exceptUserMode().writes(0);
3787 .allPrivileges().exceptUserMode().writes(0);
3792 .privSecure(!aarch32EL3)
3793 .nonSecure().exceptUserMode();
3796 .secure().exceptUserMode();
3798 .hyp().monNonSecure();
3800 .hyp().monNonSecure();
3806 .res1(0x00400800 | (SPAN ? 0 : 0x800000)
3807 | (LSMAOE ? 0 : 0x10)
3808 | (nTLSMD ? 0 : 0x8));
3811 .privSecure(!aarch32EL3)
3812 .nonSecure().exceptUserMode();
3815 .secure().exceptUserMode();
3820 .privSecure(!aarch32EL3)
3821 .nonSecure().exceptUserMode();
3824 .secure().exceptUserMode();
3826 .allPrivileges().exceptUserMode();
3830 .mon().secure().exceptUserMode()
3836 .allPrivileges().hypWrite(0).privNonSecureWrite(0).exceptUserMode();
3838 .hyp().monNonSecure()
3839 .res0(0x0512c7c0 | (EnDB ? 0 : 0x2000)
3840 | (IESB ? 0 : 0x200000)
3841 | (EnDA ? 0 : 0x8000000)
3842 | (EnIB ? 0 : 0x40000000)
3843 | (EnIA ? 0 : 0x80000000))
3846 .hyp().monNonSecure();
3848 .hyp().monNonSecure()
3851 .hyp().monNonSecure()
3854 .hyp().monNonSecure();
3856 .hyp().monNonSecure();
3858 .hyp().monNonSecure();
3862 .hyp().monNonSecure();
3867 .privSecure(!aarch32EL3)
3868 .nonSecure().exceptUserMode();
3871 .secure().exceptUserMode();
3876 .privSecure(!aarch32EL3)
3877 .nonSecure().exceptUserMode();
3880 .secure().exceptUserMode();
3885 .privSecure(!aarch32EL3)
3886 .nonSecure().exceptUserMode();
3889 .secure().exceptUserMode();
3891 .hyp().monNonSecure();
3893 .hyp().monNonSecure();
3898 .privSecure(!aarch32EL3)
3899 .nonSecure().exceptUserMode();
3902 .secure().exceptUserMode();
3907 .privSecure(!aarch32EL3)
3908 .nonSecure().exceptUserMode();
3911 .secure().exceptUserMode();
3916 .privSecure(!aarch32EL3)
3917 .nonSecure().exceptUserMode();
3920 .secure().exceptUserMode();
3929 .privSecure(!aarch32EL3)
3930 .nonSecure().exceptUserMode();
3935 .secure().exceptUserMode();
3944 .privSecure(!aarch32EL3)
3945 .nonSecure().exceptUserMode();
3950 .secure().exceptUserMode();
3952 .hyp().monNonSecure();
3954 .hyp().monNonSecure();
3956 .hyp().monNonSecure();
3961 .privSecure(!aarch32EL3)
3962 .nonSecure().exceptUserMode();
3965 .secure().exceptUserMode();
3970 .privSecure(!aarch32EL3)
3971 .nonSecure().exceptUserMode();
3974 .secure().exceptUserMode();
3976 .hyp().monNonSecure();
3978 .hyp().monNonSecure();
3980 .hyp().monNonSecure();
3984 .writes(1).exceptUserMode();
3988 .writes(1).exceptUserMode();
3993 .privSecure(!aarch32EL3)
3994 .nonSecure().exceptUserMode();
3997 .secure().exceptUserMode();
3999 .writes(1).exceptUserMode();
4003 .writes(1).exceptUserMode();
4009 .writes(1).exceptUserMode();
4013 .writes(1).exceptUserMode();
4017 .writes(1).exceptUserMode();
4021 .writes(1).exceptUserMode();
4023 .writes(1).exceptUserMode();
4025 .writes(1).exceptUserMode();
4027 .writes(1).exceptUserMode();
4029 .writes(1).exceptUserMode();
4031 .privSecureWrite().hypWrite().monSecureWrite().monNonSecureWrite();
4033 .privSecureWrite().hypWrite().monSecureWrite().monNonSecureWrite();
4035 .privSecureWrite().hypWrite().monSecureWrite().monNonSecureWrite();
4037 .privSecureWrite().hypWrite().monSecureWrite().monNonSecureWrite();
4039 .writes(1).exceptUserMode();
4043 .writes(1).exceptUserMode();
4051 .writes(1).exceptUserMode();
4055 .writes(1).exceptUserMode();
4059 .writes(1).exceptUserMode();
4061 .monNonSecureWrite().hypWrite();
4063 .monNonSecureWrite().hypWrite();
4065 .writes(1).exceptUserMode();
4067 .writes(1).exceptUserMode();
4069 .writes(1).exceptUserMode();
4071 .writes(1).exceptUserMode();
4073 .writes(1).exceptUserMode();
4075 .writes(1).exceptUserMode();
4077 .writes(1).exceptUserMode();
4079 .writes(1).exceptUserMode();
4081 .writes(1).exceptUserMode();
4083 .writes(1).exceptUserMode();
4085 .writes(1).exceptUserMode();
4087 .writes(1).exceptUserMode();
4089 .writes(1).exceptUserMode();
4091 .writes(1).exceptUserMode();
4093 .writes(1).exceptUserMode();
4095 .writes(1).exceptUserMode();
4097 .writes(1).exceptUserMode();
4099 .writes(1).exceptUserMode();
4101 .monNonSecureWrite().hypWrite();
4103 .monNonSecureWrite().hypWrite();
4105 .monNonSecureWrite().hypWrite();
4107 .monNonSecureWrite().hypWrite();
4109 .monNonSecureWrite().hypWrite();
4111 .monNonSecureWrite().hypWrite();
4113 .monNonSecureWrite().hypWrite();
4115 .monNonSecureWrite().hypWrite();
4117 .monNonSecureWrite().hypWrite();
4119 .monNonSecureWrite().hypWrite();
4121 .monNonSecureWrite().hypWrite();
4123 .monNonSecureWrite().hypWrite();
4149 .allPrivileges().userNonSecureWrite(0).userSecureWrite(0);
4151 .allPrivileges().exceptUserMode();
4153 .allPrivileges().exceptUserMode();
4158 .allPrivileges().exceptUserMode();
4161 .allPrivileges().exceptUserMode();
4166 .privSecure(!aarch32EL3)
4167 .nonSecure().exceptUserMode();
4170 .secure().exceptUserMode();
4175 .privSecure(!aarch32EL3)
4176 .nonSecure().exceptUserMode();
4179 .secure().exceptUserMode();
4184 .privSecure(!aarch32EL3)
4185 .nonSecure().exceptUserMode();
4188 .secure().exceptUserMode();
4193 .privSecure(!aarch32EL3)
4194 .nonSecure().exceptUserMode();
4197 .secure().exceptUserMode();
4202 .privSecure(!aarch32EL3)
4203 .nonSecure().exceptUserMode();
4206 .secure().exceptUserMode();
4211 .privSecure(!aarch32EL3)
4212 .nonSecure().exceptUserMode();
4215 .secure().exceptUserMode();
4217 .hyp().monNonSecure();
4219 .hyp().monNonSecure();
4223 .hyp().monNonSecure();
4227 .hyp().monNonSecure();
4232 .privSecure(!aarch32EL3)
4233 .nonSecure().exceptUserMode();
4236 .secure().exceptUserMode();
4244 .mon().secure().exceptUserMode();
4246 .allPrivileges().exceptUserMode().writes(0);
4248 .hyp().monNonSecure()
4253 .allPrivileges().exceptUserMode();
4258 .privSecure(!aarch32EL3)
4259 .nonSecure().exceptUserMode();
4262 .secure().exceptUserMode();
4268 .privSecure(!aarch32EL3)
4278 .userNonSecureWrite(0).userSecureRead(1)
4279 .privSecure(!aarch32EL3)
4283 .secure().userSecureWrite(0);
4288 .nonSecure().exceptUserMode()
4289 .privSecure(!aarch32EL3);
4292 .secure().exceptUserMode();
4294 .hyp().monNonSecure();
4299 .privSecureWrite(aarch32EL3);
4311 .privSecure(!aarch32EL3)
4316 .privSecure(aarch32EL3)
4323 .privSecure(!aarch32EL3);
4327 .privSecure(aarch32EL3);
4333 .privSecure(!aarch32EL3);
4337 .privSecure(aarch32EL3);
4369 .allPrivileges().exceptUserMode();
4372 .allPrivileges().exceptUserMode();
4375 .allPrivileges().exceptUserMode();
4378 .allPrivileges().exceptUserMode();
4381 .allPrivileges().exceptUserMode();
4384 .allPrivileges().exceptUserMode();
4387 .allPrivileges().exceptUserMode();
4390 .allPrivileges().exceptUserMode();
4393 .allPrivileges().exceptUserMode();
4396 .writes(1).exceptUserMode();
4399 .allPrivileges().exceptUserMode();
4402 .allPrivileges().exceptUserMode().writes(0);
4404 .hyp().monNonSecure();
4406 .hyp().monNonSecure();
4409 .allPrivileges().exceptUserMode();
4413 .allPrivileges().exceptUserMode();
4431 .allPrivileges().exceptUserMode()
4434 .allPrivileges().exceptUserMode()
4437 .allPrivileges().exceptUserMode()
4440 .allPrivileges().exceptUserMode()
4443 .allPrivileges().exceptUserMode()
4446 .allPrivileges().exceptUserMode()
4449 .allPrivileges().exceptUserMode()
4452 .allPrivileges().exceptUserMode()
4455 .allPrivileges().exceptUserMode()
4458 .allPrivileges().exceptUserMode()
4461 .allPrivileges().exceptUserMode()
4464 .allPrivileges().exceptUserMode()
4467 .allPrivileges().exceptUserMode()
4470 .allPrivileges().exceptUserMode()
4473 .allPrivileges().exceptUserMode()
4476 .allPrivileges().exceptUserMode()
4479 .allPrivileges().exceptUserMode()
4482 .allPrivileges().exceptUserMode()
4485 .allPrivileges().exceptUserMode()
4488 .allPrivileges().exceptUserMode()
4491 .allPrivileges().exceptUserMode()
4494 .allPrivileges().exceptUserMode()
4497 .allPrivileges().exceptUserMode()
4500 .allPrivileges().exceptUserMode()
4503 .allPrivileges().exceptUserMode()
4506 .allPrivileges().exceptUserMode()
4509 .allPrivileges().exceptUserMode()
4512 .allPrivileges().exceptUserMode()
4515 .allPrivileges().exceptUserMode()
4518 .allPrivileges().exceptUserMode()
4521 .allPrivileges().exceptUserMode()
4524 .allPrivileges().exceptUserMode()
4527 .allPrivileges().exceptUserMode()
4530 .allPrivileges().exceptUserMode()
4533 .allPrivileges().exceptUserMode()
4536 .allPrivileges().exceptUserMode()
4539 .allPrivileges().exceptUserMode()
4542 .allPrivileges().exceptUserMode()
4545 .allPrivileges().exceptUserMode()
4548 .allPrivileges().exceptUserMode()
4551 .allPrivileges().exceptUserMode()
4554 .allPrivileges().exceptUserMode()
4557 .allPrivileges().exceptUserMode()
4560 .allPrivileges().exceptUserMode()
4563 .allPrivileges().exceptUserMode()
4566 .allPrivileges().exceptUserMode()
4569 .allPrivileges().exceptUserMode()
4572 .allPrivileges().exceptUserMode()
4575 .allPrivileges().exceptUserMode()
4578 .allPrivileges().exceptUserMode()
4581 .allPrivileges().exceptUserMode()
4584 .allPrivileges().exceptUserMode()
4587 .allPrivileges().exceptUserMode()
4590 .allPrivileges().exceptUserMode()
4593 .allPrivileges().exceptUserMode()
4596 .allPrivileges().exceptUserMode()
4599 .allPrivileges().exceptUserMode()
4602 .allPrivileges().exceptUserMode()
4605 .allPrivileges().exceptUserMode()
4608 .allPrivileges().exceptUserMode()
4611 .allPrivileges().exceptUserMode()
4614 .allPrivileges().exceptUserMode()
4617 .allPrivileges().exceptUserMode()
4620 .allPrivileges().exceptUserMode()
4623 .allPrivileges().writes(0)
4636 .allPrivileges().monSecureWrite(0).monNonSecureWrite(0)
4639 .allPrivileges().monSecureRead(0).monNonSecureRead(0)
4642 .allPrivileges().monSecureWrite(0).monNonSecureWrite(0)
4657 .allPrivileges().monSecureWrite(0).monNonSecureWrite(0)
4664 .allPrivileges().exceptUserMode().writes(0);
4666 .allPrivileges().exceptUserMode().writes(0);
4668 .allPrivileges().exceptUserMode().writes(0);
4670 .allPrivileges().exceptUserMode().writes(0)
4673 .allPrivileges().exceptUserMode().writes(0)
4676 .allPrivileges().exceptUserMode().writes(0)
4679 .allPrivileges().exceptUserMode().writes(0)
4682 .allPrivileges().exceptUserMode().writes(0)
4685 .allPrivileges().exceptUserMode().writes(0)
4688 .allPrivileges().exceptUserMode().writes(0)
4691 .allPrivileges().exceptUserMode().writes(0)
4694 .allPrivileges().exceptUserMode().writes(0)
4697 .allPrivileges().exceptUserMode().writes(0)
4700 .allPrivileges().exceptUserMode().writes(0)
4703 .allPrivileges().exceptUserMode().writes(0)
4706 .allPrivileges().exceptUserMode().writes(0)
4709 .allPrivileges().exceptUserMode().writes(0)
4712 .allPrivileges().exceptUserMode().writes(0);
4714 .allPrivileges().exceptUserMode().writes(0);
4716 .allPrivileges().exceptUserMode().writes(0);
4718 .allPrivileges().exceptUserMode().writes(0);
4720 .allPrivileges().exceptUserMode().writes(0);
4722 .allPrivileges().exceptUserMode().writes(0);
4724 .allPrivileges().exceptUserMode().writes(0);
4726 .allPrivileges().exceptUserMode().writes(0);
4728 .allPrivileges().exceptUserMode().writes(0);
4730 .allPrivileges().exceptUserMode().writes(0);
4732 .allPrivileges().exceptUserMode().writes(0);
4734 .allPrivileges().exceptUserMode().writes(0);
4736 .allPrivileges().exceptUserMode().writes(0);
4738 .allPrivileges().exceptUserMode().writes(0);
4741 .allPrivileges().exceptUserMode();
4743 .allPrivileges().exceptUserMode();
4745 .allPrivileges().exceptUserMode();
4747 .allPrivileges().exceptUserMode();
4749 .allPrivileges().exceptUserMode();
4751 .allPrivileges().exceptUserMode();
4753 .allPrivileges().exceptUserMode();
4755 .allPrivileges().exceptUserMode();
4757 .allPrivileges().exceptUserMode();
4759 .allPrivileges().exceptUserMode();
4762 .allPrivileges().exceptUserMode().writes(0);
4764 .allPrivileges().exceptUserMode().writes(0);
4766 .allPrivileges().exceptUserMode().writes(0);
4768 .allPrivileges().exceptUserMode()
4781 .allPrivileges().exceptUserMode()
4782 .res0( 0x20440 | (EnDB ? 0 : 0x2000)
4783 | (IESB ? 0 : 0x200000)
4784 | (EnDA ? 0 : 0x8000000)
4785 | (EnIB ? 0 : 0x40000000)
4786 | (EnIA ? 0 : 0x80000000))
4787 .res1(0x500800 | (SPAN ? 0 : 0x800000)
4788 | (nTLSMD ? 0 : 0x8000000)
4789 | (LSMAOE ? 0 : 0x10000000))
4792 .allPrivileges().exceptUserMode()
4793 .res0( 0x20440 | (EnDB ? 0 : 0x2000)
4794 | (IESB ? 0 : 0x200000)
4795 | (EnDA ? 0 : 0x8000000)
4796 | (EnIB ? 0 : 0x40000000)
4797 | (EnIA ? 0 : 0x80000000))
4798 .res1(0x500800 | (SPAN ? 0 : 0x800000)
4799 | (nTLSMD ? 0 : 0x8000000)
4800 | (LSMAOE ? 0 : 0x10000000))
4803 .allPrivileges().exceptUserMode()
4806 .allPrivileges().exceptUserMode()
4809 .allPrivileges().exceptUserMode()
4813 .res0(0x0512c7c0 | (EnDB ? 0 : 0x2000)
4814 | (IESB ? 0 : 0x200000)
4815 | (EnDA ? 0 : 0x8000000)
4816 | (EnIB ? 0 : 0x40000000)
4817 | (EnIA ? 0 : 0x80000000))
4840 .res0(0x0512c7c0 | (EnDB ? 0 : 0x2000)
4841 | (IESB ? 0 : 0x200000)
4842 | (EnDA ? 0 : 0x8000000)
4843 | (EnIB ? 0 : 0x40000000)
4844 | (EnIA ? 0 : 0x80000000))
4860 .allPrivileges().exceptUserMode()
4863 .allPrivileges().exceptUserMode()
4866 .allPrivileges().exceptUserMode()
4869 .allPrivileges().exceptUserMode()
4872 .allPrivileges().exceptUserMode()
4875 .allPrivileges().exceptUserMode()
4903 .allPrivileges().exceptUserMode()
4906 .allPrivileges().exceptUserMode()
4909 .allPrivileges().exceptUserMode();
4911 .allPrivileges().exceptUserMode()
4914 .allPrivileges().exceptUserMode();
4916 .allPrivileges().exceptUserMode();
4918 .allPrivileges().exceptUserMode().writes(0);
4920 .allPrivileges().exceptUserMode()
4921 .implemented(havePAN);
4957 .allPrivileges().exceptUserMode()
4960 .allPrivileges().exceptUserMode()
4963 .allPrivileges().exceptUserMode()
4966 .allPrivileges().exceptUserMode()
4969 .allPrivileges().exceptUserMode();
4971 .allPrivileges().exceptUserMode()
4994 .allPrivileges().exceptUserMode()
4997 .allPrivileges().exceptUserMode()
5009 .writes(1).exceptUserMode();
5011 .allPrivileges().exceptUserMode()
5015 .writes(1).exceptUserMode();
5018 .writes(1).exceptUserMode();
5021 .writes(1).exceptUserMode();
5023 .writes(1).exceptUserMode();
5025 .writes(1).exceptUserMode();
5027 .writes(1).exceptUserMode();
5029 .writes(1).exceptUserMode();
5032 .writes(1).exceptUserMode();
5035 .writes(1).exceptUserMode();
5038 .writes(1).userSecureWrite(0);
5051 .monNonSecureWrite().hypWrite();
5053 .monNonSecureWrite().hypWrite();
5055 .hypWrite().monSecureWrite().monNonSecureWrite();
5057 .hypWrite().monSecureWrite().monNonSecureWrite();
5059 .hypWrite().monSecureWrite().monNonSecureWrite();
5061 .hypWrite().monSecureWrite().monNonSecureWrite();
5063 .monSecureWrite().monNonSecureWrite();
5065 .monSecureWrite().monNonSecureWrite();
5067 .writes(1).exceptUserMode();
5069 .writes(1).exceptUserMode();
5071 .writes(1).exceptUserMode();
5073 .writes(1).exceptUserMode();
5075 .writes(1).exceptUserMode();
5077 .writes(1).exceptUserMode();
5079 .writes(1).exceptUserMode();
5081 .writes(1).exceptUserMode();
5083 .writes(1).exceptUserMode();
5085 .writes(1).exceptUserMode();
5087 .writes(1).exceptUserMode();
5089 .writes(1).exceptUserMode();
5091 .hypWrite().monSecureWrite().monNonSecureWrite();
5093 .hypWrite().monSecureWrite().monNonSecureWrite();
5095 .monNonSecureWrite().hypWrite();
5097 .monNonSecureWrite().hypWrite();
5099 .hypWrite().monSecureWrite().monNonSecureWrite();
5101 .monNonSecureWrite().hypWrite();
5103 .hypWrite().monSecureWrite().monNonSecureWrite();
5105 .hypWrite().monSecureWrite().monNonSecureWrite();
5107 .hypWrite().monSecureWrite().monNonSecureWrite();
5109 .monNonSecureWrite().hypWrite();
5111 .monNonSecureWrite().hypWrite();
5113 .hypWrite().monSecureWrite().monNonSecureWrite();
5115 .monNonSecureWrite().hypWrite();
5117 .hypWrite().monSecureWrite().monNonSecureWrite();
5119 .monSecureWrite().monNonSecureWrite();
5121 .monSecureWrite().monNonSecureWrite();
5123 .monSecureWrite().monNonSecureWrite();
5125 .monSecureWrite().monNonSecureWrite();
5127 .monSecureWrite().monNonSecureWrite();
5129 .monSecureWrite().monNonSecureWrite();
5131 .allPrivileges().exceptUserMode()
5134 .allPrivileges().exceptUserMode()
5172 .allPrivileges().userNonSecureWrite(0).userSecureWrite(0)
5178 .allPrivileges().exceptUserMode()
5181 .allPrivileges().exceptUserMode()
5184 .allPrivileges().exceptUserMode()
5187 .allPrivileges().exceptUserMode()
5200 .allPrivileges().exceptUserMode();
5202 .allPrivileges().exceptUserMode();
5204 .allPrivileges().exceptUserMode()
5207 .allPrivileges().exceptUserMode()
5210 .allPrivileges().exceptUserMode().writes(0);
5212 .allPrivileges().exceptUserMode().writes(0);
5218 .mon().hyp().writes(0);
5226 .allPrivileges().exceptUserMode()
5229 .allPrivileges().exceptUserMode()
5232 .allPrivileges().exceptUserMode()
5238 .allPrivileges().userNonSecureWrite(0).userSecureWrite(0)
5249 .privSecureWrite(aarch32EL3)
5261 .res0(0xfffffffffffffff8)
5268 .res0(0xffffffff00000000)
5272 .res0(0xfffffffffffffff8)
5279 .res0(0xffffffff00000000)
5284 .res0(0xfffffffffffffff8)
5293 .res0(0xffffffff00000000)
5298 .res0(0xfffffffffffffff8)
5307 .res0(0xffffffff00000000)
5312 .res0(0xfffffffffffdfc00)
5317 .res0(0xfffffffffffdfc00)
5322 .res0(0xfffffffffffffff8);
5329 .res0(0xffffffff00000000);
5333 .res0(0xfffffffffffc0000)
5338 .res0(0xfffffffffffffff8)
5347 .res0(0xffffffff00000000)
5352 .res0(0xfffffffffffffff8)
5357 .res0(0xfffffffffffffff8)
5362 .res0(0xfffffffffffffff8)
5367 .res0(0xfffffffffffffff8);
5374 .res0(0xffffffff00000000);
5378 .res0(0xfffffffffffffff8)
5383 .res0(0xfffffffffffffff8)
5388 .res0(0xfffffffffffffff8)
5433 .allPrivileges().exceptUserMode();
5435 .allPrivileges().exceptUserMode();
5437 .allPrivileges().exceptUserMode();
5439 .allPrivileges().exceptUserMode();
5441 .allPrivileges().exceptUserMode();
5443 .allPrivileges().exceptUserMode();
5445 .allPrivileges().exceptUserMode();
5447 .allPrivileges().exceptUserMode();
5449 .allPrivileges().exceptUserMode();
5451 .allPrivileges().exceptUserMode();
5453 .allPrivileges().exceptUserMode();
5455 .allPrivileges().exceptUserMode();
5457 .allPrivileges().exceptUserMode();
5461 .allPrivileges().exceptUserMode();
5463 .allPrivileges().exceptUserMode().writes(0);
5470 .allPrivileges().exceptUserMode()
5473 .allPrivileges().exceptUserMode().writes(0)
5476 .allPrivileges().exceptUserMode().reads(0)
5479 .allPrivileges().exceptUserMode().writes(0)
5483 .allPrivileges().exceptUserMode()
5486 .allPrivileges().exceptUserMode()
5489 .allPrivileges().exceptUserMode()
5492 .allPrivileges().exceptUserMode()
5495 .allPrivileges().exceptUserMode()
5502 .allPrivileges().exceptUserMode()
5506 .allPrivileges().exceptUserMode()
5513 .allPrivileges().exceptUserMode()
5517 .allPrivileges().exceptUserMode()
5524 .allPrivileges().exceptUserMode()
5528 .allPrivileges().exceptUserMode()
5535 .allPrivileges().exceptUserMode()
5539 .allPrivileges().exceptUserMode()
5543 .allPrivileges().exceptUserMode().reads(0)
5546 .allPrivileges().exceptUserMode().writes(0)
5549 .allPrivileges().exceptUserMode().reads(0)
5552 .allPrivileges().exceptUserMode().reads(0)
5555 .allPrivileges().exceptUserMode().reads(0)
5558 .allPrivileges().exceptUserMode().writes(0)
5562 .allPrivileges().exceptUserMode().reads(0)
5565 .allPrivileges().exceptUserMode().writes(0)
5573 .allPrivileges().exceptUserMode()
5578 .secure().exceptUserMode()
5586 .allPrivileges().exceptUserMode()
5591 .secure().exceptUserMode()
5599 .allPrivileges().exceptUserMode()
5604 .secure().exceptUserMode()
5608 .allPrivileges().exceptUserMode()
5616 .allPrivileges().exceptUserMode()
5621 .secure().exceptUserMode()
5627 .allPrivileges().exceptUserMode()
5630 .allPrivileges().exceptUserMode()
5633 .allPrivileges().exceptUserMode()
5670 .hyp().mon().writes(0)
5673 .hyp().mon().writes(0)
5676 .hyp().mon().writes(0)
5679 .hyp().mon().writes(0)
5686 .allPrivileges().exceptUserMode();
5689 .allPrivileges().exceptUserMode();
5692 .allPrivileges().exceptUserMode();
5695 .allPrivileges().exceptUserMode();
5698 .allPrivileges().exceptUserMode();
5701 .allPrivileges().exceptUserMode();
5704 .allPrivileges().exceptUserMode();
5707 .allPrivileges().exceptUserMode();
5710 .allPrivileges().exceptUserMode();
5713 .allPrivileges().exceptUserMode();
5716 .allPrivileges().exceptUserMode();
5719 .allPrivileges().exceptUserMode();
5722 .allPrivileges().exceptUserMode();
5725 .allPrivileges().exceptUserMode();
5728 .allPrivileges().exceptUserMode();
5731 .allPrivileges().exceptUserMode();
5735 .allPrivileges().exceptUserMode();
5737 .allPrivileges().exceptUserMode();
5739 .allPrivileges().exceptUserMode();
5741 .allPrivileges().exceptUserMode();
5743 .allPrivileges().exceptUserMode();
5745 .allPrivileges().exceptUserMode();
5747 .allPrivileges().exceptUserMode();
5749 .allPrivileges().exceptUserMode();
5751 .allPrivileges().exceptUserMode();
5753 .allPrivileges().exceptUserMode();
5755 .allPrivileges().exceptUserMode();
5757 .allPrivileges().exceptUserMode();
5759 .allPrivileges().exceptUserMode();
5761 .allPrivileges().exceptUserMode();
5763 .allPrivileges().exceptUserMode();
5765 .allPrivileges().exceptUserMode();
5767 .allPrivileges().exceptUserMode().reads(0);
5769 .allPrivileges().exceptUserMode();
5771 .allPrivileges().exceptUserMode();
5773 .allPrivileges().exceptUserMode();
5775 .allPrivileges().exceptUserMode();
5777 .allPrivileges().exceptUserMode();
5779 .allPrivileges().exceptUserMode();
5781 .allPrivileges().exceptUserMode();
5783 .allPrivileges().exceptUserMode().reads(0);
5785 .allPrivileges().exceptUserMode().reads(0);
5787 .allPrivileges().exceptUserMode().reads(0);
5789 .allPrivileges().exceptUserMode().writes(0);
5791 .allPrivileges().exceptUserMode().writes(0);
5793 .allPrivileges().exceptUserMode();
5795 .allPrivileges().exceptUserMode().writes(0);
5797 .allPrivileges().exceptUserMode().writes(0);
5799 .allPrivileges().exceptUserMode();
5801 .allPrivileges().exceptUserMode();
5803 .allPrivileges().exceptUserMode();
5805 .allPrivileges().exceptUserMode();
5807 .allPrivileges().exceptUserMode();
5809 .allPrivileges().exceptUserMode();
5811 .allPrivileges().exceptUserMode();
5813 .allPrivileges().exceptUserMode();
5815 .allPrivileges().exceptUserMode().writes(0);
5817 .allPrivileges().exceptUserMode().reads(0);
5819 .allPrivileges().exceptUserMode().reads(0);
5821 .allPrivileges().exceptUserMode();
5823 .allPrivileges().exceptUserMode();
5825 .allPrivileges().exceptUserMode();
5846 .hyp().mon().writes(0);
5848 .hyp().mon().writes(0);
5850 .hyp().mon().writes(0);
5852 .hyp().mon().writes(0);
5938 .allPrivileges().exceptUserMode().writes(0);
5944 .allPrivileges().exceptUserMode()
5947 .allPrivileges().exceptUserMode();
5953 .allPrivileges().exceptUserMode().writes(0);
5963 .warnNotFail(impdefAsNop);