miscregs.cc (12577:5cafe57f87e5) miscregs.cc (12661:2ae7948a5572)
1/*
2 * Copyright (c) 2010-2013, 2015-2017 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 2373 unchanged lines hidden (view full) ---

2382ISA::initializeMiscRegMetadata()
2383{
2384 // the MiscReg metadata tables are shared across all instances of the
2385 // ISA object, so there's no need to initialize them multiple times.
2386 static bool completed = false;
2387 if (completed)
2388 return;
2389
1/*
2 * Copyright (c) 2010-2013, 2015-2017 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 2373 unchanged lines hidden (view full) ---

2382ISA::initializeMiscRegMetadata()
2383{
2384 // the MiscReg metadata tables are shared across all instances of the
2385 // ISA object, so there's no need to initialize them multiple times.
2386 static bool completed = false;
2387 if (completed)
2388 return;
2389
2390 // This boolean variable specifies if the system is running in aarch32 at
2391 // EL3 (aarch32EL3 = true). It is false if EL3 is not implemented, or it
2392 // is running in aarch64 (aarch32EL3 = false)
2393 bool aarch32EL3 = haveSecurity && !highestELIs64;
2394
2390 /**
2391 * Some registers alias with others, and therefore need to be translated.
2392 * When two mapping registers are given, they are the 32b lower and
2393 * upper halves, respectively, of the 64b register being mapped.
2394 * aligned with reference documentation ARM DDI 0487A.i pp 1540-1543
2395 *
2396 * NAM = "not architecturally mandated",
2397 * from ARM DDI 0487A.i, template text

--- 46 unchanged lines hidden (view full) ---

2444 .allPrivileges();
2445 InitReg(MISCREG_LOCKFLAG)
2446 .allPrivileges();
2447 InitReg(MISCREG_PRRR_MAIR0)
2448 .mutex()
2449 .banked();
2450 InitReg(MISCREG_PRRR_MAIR0_NS)
2451 .mutex()
2395 /**
2396 * Some registers alias with others, and therefore need to be translated.
2397 * When two mapping registers are given, they are the 32b lower and
2398 * upper halves, respectively, of the 64b register being mapped.
2399 * aligned with reference documentation ARM DDI 0487A.i pp 1540-1543
2400 *
2401 * NAM = "not architecturally mandated",
2402 * from ARM DDI 0487A.i, template text

--- 46 unchanged lines hidden (view full) ---

2449 .allPrivileges();
2450 InitReg(MISCREG_LOCKFLAG)
2451 .allPrivileges();
2452 InitReg(MISCREG_PRRR_MAIR0)
2453 .mutex()
2454 .banked();
2455 InitReg(MISCREG_PRRR_MAIR0_NS)
2456 .mutex()
2457 .privSecure(!aarch32EL3)
2452 .bankedChild();
2453 InitReg(MISCREG_PRRR_MAIR0_S)
2454 .mutex()
2455 .bankedChild();
2456 InitReg(MISCREG_NMRR_MAIR1)
2457 .mutex()
2458 .banked();
2459 InitReg(MISCREG_NMRR_MAIR1_NS)
2460 .mutex()
2458 .bankedChild();
2459 InitReg(MISCREG_PRRR_MAIR0_S)
2460 .mutex()
2461 .bankedChild();
2462 InitReg(MISCREG_NMRR_MAIR1)
2463 .mutex()
2464 .banked();
2465 InitReg(MISCREG_NMRR_MAIR1_NS)
2466 .mutex()
2467 .privSecure(!aarch32EL3)
2461 .bankedChild();
2462 InitReg(MISCREG_NMRR_MAIR1_S)
2463 .mutex()
2464 .bankedChild();
2465 InitReg(MISCREG_PMXEVTYPER_PMCCFILTR)
2466 .mutex();
2467 InitReg(MISCREG_SCTLR_RST)
2468 .allPrivileges();

--- 195 unchanged lines hidden (view full) ---

2664 InitReg(MISCREG_CLIDR)
2665 .allPrivileges().exceptUserMode().writes(0);
2666 InitReg(MISCREG_AIDR)
2667 .allPrivileges().exceptUserMode().writes(0);
2668 InitReg(MISCREG_CSSELR)
2669 .banked();
2670 InitReg(MISCREG_CSSELR_NS)
2671 .bankedChild()
2468 .bankedChild();
2469 InitReg(MISCREG_NMRR_MAIR1_S)
2470 .mutex()
2471 .bankedChild();
2472 InitReg(MISCREG_PMXEVTYPER_PMCCFILTR)
2473 .mutex();
2474 InitReg(MISCREG_SCTLR_RST)
2475 .allPrivileges();

--- 195 unchanged lines hidden (view full) ---

2671 InitReg(MISCREG_CLIDR)
2672 .allPrivileges().exceptUserMode().writes(0);
2673 InitReg(MISCREG_AIDR)
2674 .allPrivileges().exceptUserMode().writes(0);
2675 InitReg(MISCREG_CSSELR)
2676 .banked();
2677 InitReg(MISCREG_CSSELR_NS)
2678 .bankedChild()
2679 .privSecure(!aarch32EL3)
2672 .nonSecure().exceptUserMode();
2673 InitReg(MISCREG_CSSELR_S)
2674 .bankedChild()
2675 .secure().exceptUserMode();
2676 InitReg(MISCREG_VPIDR)
2677 .hyp().monNonSecure();
2678 InitReg(MISCREG_VMPIDR)
2679 .hyp().monNonSecure();
2680 InitReg(MISCREG_SCTLR)
2681 .banked();
2682 InitReg(MISCREG_SCTLR_NS)
2683 .bankedChild()
2680 .nonSecure().exceptUserMode();
2681 InitReg(MISCREG_CSSELR_S)
2682 .bankedChild()
2683 .secure().exceptUserMode();
2684 InitReg(MISCREG_VPIDR)
2685 .hyp().monNonSecure();
2686 InitReg(MISCREG_VMPIDR)
2687 .hyp().monNonSecure();
2688 InitReg(MISCREG_SCTLR)
2689 .banked();
2690 InitReg(MISCREG_SCTLR_NS)
2691 .bankedChild()
2692 .privSecure(!aarch32EL3)
2684 .nonSecure().exceptUserMode();
2685 InitReg(MISCREG_SCTLR_S)
2686 .bankedChild()
2687 .secure().exceptUserMode();
2688 InitReg(MISCREG_ACTLR)
2689 .banked();
2690 InitReg(MISCREG_ACTLR_NS)
2691 .bankedChild()
2693 .nonSecure().exceptUserMode();
2694 InitReg(MISCREG_SCTLR_S)
2695 .bankedChild()
2696 .secure().exceptUserMode();
2697 InitReg(MISCREG_ACTLR)
2698 .banked();
2699 InitReg(MISCREG_ACTLR_NS)
2700 .bankedChild()
2701 .privSecure(!aarch32EL3)
2692 .nonSecure().exceptUserMode();
2693 InitReg(MISCREG_ACTLR_S)
2694 .bankedChild()
2695 .secure().exceptUserMode();
2696 InitReg(MISCREG_CPACR)
2697 .allPrivileges().exceptUserMode();
2698 InitReg(MISCREG_SCR)
2699 .mon().secure().exceptUserMode()

--- 18 unchanged lines hidden (view full) ---

2718 InitReg(MISCREG_HACR)
2719 .unimplemented()
2720 .warnNotFail()
2721 .hyp().monNonSecure();
2722 InitReg(MISCREG_TTBR0)
2723 .banked();
2724 InitReg(MISCREG_TTBR0_NS)
2725 .bankedChild()
2702 .nonSecure().exceptUserMode();
2703 InitReg(MISCREG_ACTLR_S)
2704 .bankedChild()
2705 .secure().exceptUserMode();
2706 InitReg(MISCREG_CPACR)
2707 .allPrivileges().exceptUserMode();
2708 InitReg(MISCREG_SCR)
2709 .mon().secure().exceptUserMode()

--- 18 unchanged lines hidden (view full) ---

2728 InitReg(MISCREG_HACR)
2729 .unimplemented()
2730 .warnNotFail()
2731 .hyp().monNonSecure();
2732 InitReg(MISCREG_TTBR0)
2733 .banked();
2734 InitReg(MISCREG_TTBR0_NS)
2735 .bankedChild()
2736 .privSecure(!aarch32EL3)
2726 .nonSecure().exceptUserMode();
2727 InitReg(MISCREG_TTBR0_S)
2728 .bankedChild()
2729 .secure().exceptUserMode();
2730 InitReg(MISCREG_TTBR1)
2731 .banked();
2732 InitReg(MISCREG_TTBR1_NS)
2733 .bankedChild()
2737 .nonSecure().exceptUserMode();
2738 InitReg(MISCREG_TTBR0_S)
2739 .bankedChild()
2740 .secure().exceptUserMode();
2741 InitReg(MISCREG_TTBR1)
2742 .banked();
2743 InitReg(MISCREG_TTBR1_NS)
2744 .bankedChild()
2745 .privSecure(!aarch32EL3)
2734 .nonSecure().exceptUserMode();
2735 InitReg(MISCREG_TTBR1_S)
2736 .bankedChild()
2737 .secure().exceptUserMode();
2738 InitReg(MISCREG_TTBCR)
2739 .banked();
2740 InitReg(MISCREG_TTBCR_NS)
2741 .bankedChild()
2746 .nonSecure().exceptUserMode();
2747 InitReg(MISCREG_TTBR1_S)
2748 .bankedChild()
2749 .secure().exceptUserMode();
2750 InitReg(MISCREG_TTBCR)
2751 .banked();
2752 InitReg(MISCREG_TTBCR_NS)
2753 .bankedChild()
2754 .privSecure(!aarch32EL3)
2742 .nonSecure().exceptUserMode();
2743 InitReg(MISCREG_TTBCR_S)
2744 .bankedChild()
2745 .secure().exceptUserMode();
2746 InitReg(MISCREG_HTCR)
2747 .hyp().monNonSecure();
2748 InitReg(MISCREG_VTCR)
2749 .hyp().monNonSecure();
2750 InitReg(MISCREG_DACR)
2751 .banked();
2752 InitReg(MISCREG_DACR_NS)
2753 .bankedChild()
2755 .nonSecure().exceptUserMode();
2756 InitReg(MISCREG_TTBCR_S)
2757 .bankedChild()
2758 .secure().exceptUserMode();
2759 InitReg(MISCREG_HTCR)
2760 .hyp().monNonSecure();
2761 InitReg(MISCREG_VTCR)
2762 .hyp().monNonSecure();
2763 InitReg(MISCREG_DACR)
2764 .banked();
2765 InitReg(MISCREG_DACR_NS)
2766 .bankedChild()
2767 .privSecure(!aarch32EL3)
2754 .nonSecure().exceptUserMode();
2755 InitReg(MISCREG_DACR_S)
2756 .bankedChild()
2757 .secure().exceptUserMode();
2758 InitReg(MISCREG_DFSR)
2759 .banked();
2760 InitReg(MISCREG_DFSR_NS)
2761 .bankedChild()
2768 .nonSecure().exceptUserMode();
2769 InitReg(MISCREG_DACR_S)
2770 .bankedChild()
2771 .secure().exceptUserMode();
2772 InitReg(MISCREG_DFSR)
2773 .banked();
2774 InitReg(MISCREG_DFSR_NS)
2775 .bankedChild()
2776 .privSecure(!aarch32EL3)
2762 .nonSecure().exceptUserMode();
2763 InitReg(MISCREG_DFSR_S)
2764 .bankedChild()
2765 .secure().exceptUserMode();
2766 InitReg(MISCREG_IFSR)
2767 .banked();
2768 InitReg(MISCREG_IFSR_NS)
2769 .bankedChild()
2777 .nonSecure().exceptUserMode();
2778 InitReg(MISCREG_DFSR_S)
2779 .bankedChild()
2780 .secure().exceptUserMode();
2781 InitReg(MISCREG_IFSR)
2782 .banked();
2783 InitReg(MISCREG_IFSR_NS)
2784 .bankedChild()
2785 .privSecure(!aarch32EL3)
2770 .nonSecure().exceptUserMode();
2771 InitReg(MISCREG_IFSR_S)
2772 .bankedChild()
2773 .secure().exceptUserMode();
2774 InitReg(MISCREG_ADFSR)
2775 .unimplemented()
2776 .warnNotFail()
2777 .banked();
2778 InitReg(MISCREG_ADFSR_NS)
2779 .unimplemented()
2780 .warnNotFail()
2781 .bankedChild()
2786 .nonSecure().exceptUserMode();
2787 InitReg(MISCREG_IFSR_S)
2788 .bankedChild()
2789 .secure().exceptUserMode();
2790 InitReg(MISCREG_ADFSR)
2791 .unimplemented()
2792 .warnNotFail()
2793 .banked();
2794 InitReg(MISCREG_ADFSR_NS)
2795 .unimplemented()
2796 .warnNotFail()
2797 .bankedChild()
2798 .privSecure(!aarch32EL3)
2782 .nonSecure().exceptUserMode();
2783 InitReg(MISCREG_ADFSR_S)
2784 .unimplemented()
2785 .warnNotFail()
2786 .bankedChild()
2787 .secure().exceptUserMode();
2788 InitReg(MISCREG_AIFSR)
2789 .unimplemented()
2790 .warnNotFail()
2791 .banked();
2792 InitReg(MISCREG_AIFSR_NS)
2793 .unimplemented()
2794 .warnNotFail()
2795 .bankedChild()
2799 .nonSecure().exceptUserMode();
2800 InitReg(MISCREG_ADFSR_S)
2801 .unimplemented()
2802 .warnNotFail()
2803 .bankedChild()
2804 .secure().exceptUserMode();
2805 InitReg(MISCREG_AIFSR)
2806 .unimplemented()
2807 .warnNotFail()
2808 .banked();
2809 InitReg(MISCREG_AIFSR_NS)
2810 .unimplemented()
2811 .warnNotFail()
2812 .bankedChild()
2813 .privSecure(!aarch32EL3)
2796 .nonSecure().exceptUserMode();
2797 InitReg(MISCREG_AIFSR_S)
2798 .unimplemented()
2799 .warnNotFail()
2800 .bankedChild()
2801 .secure().exceptUserMode();
2802 InitReg(MISCREG_HADFSR)
2803 .hyp().monNonSecure();
2804 InitReg(MISCREG_HAIFSR)
2805 .hyp().monNonSecure();
2806 InitReg(MISCREG_HSR)
2807 .hyp().monNonSecure();
2808 InitReg(MISCREG_DFAR)
2809 .banked();
2810 InitReg(MISCREG_DFAR_NS)
2811 .bankedChild()
2814 .nonSecure().exceptUserMode();
2815 InitReg(MISCREG_AIFSR_S)
2816 .unimplemented()
2817 .warnNotFail()
2818 .bankedChild()
2819 .secure().exceptUserMode();
2820 InitReg(MISCREG_HADFSR)
2821 .hyp().monNonSecure();
2822 InitReg(MISCREG_HAIFSR)
2823 .hyp().monNonSecure();
2824 InitReg(MISCREG_HSR)
2825 .hyp().monNonSecure();
2826 InitReg(MISCREG_DFAR)
2827 .banked();
2828 InitReg(MISCREG_DFAR_NS)
2829 .bankedChild()
2830 .privSecure(!aarch32EL3)
2812 .nonSecure().exceptUserMode();
2813 InitReg(MISCREG_DFAR_S)
2814 .bankedChild()
2815 .secure().exceptUserMode();
2816 InitReg(MISCREG_IFAR)
2817 .banked();
2818 InitReg(MISCREG_IFAR_NS)
2819 .bankedChild()
2831 .nonSecure().exceptUserMode();
2832 InitReg(MISCREG_DFAR_S)
2833 .bankedChild()
2834 .secure().exceptUserMode();
2835 InitReg(MISCREG_IFAR)
2836 .banked();
2837 InitReg(MISCREG_IFAR_NS)
2838 .bankedChild()
2839 .privSecure(!aarch32EL3)
2820 .nonSecure().exceptUserMode();
2821 InitReg(MISCREG_IFAR_S)
2822 .bankedChild()
2823 .secure().exceptUserMode();
2824 InitReg(MISCREG_HDFAR)
2825 .hyp().monNonSecure();
2826 InitReg(MISCREG_HIFAR)
2827 .hyp().monNonSecure();

--- 6 unchanged lines hidden (view full) ---

2834 InitReg(MISCREG_BPIALLIS)
2835 .unimplemented()
2836 .warnNotFail()
2837 .writes(1).exceptUserMode();
2838 InitReg(MISCREG_PAR)
2839 .banked();
2840 InitReg(MISCREG_PAR_NS)
2841 .bankedChild()
2840 .nonSecure().exceptUserMode();
2841 InitReg(MISCREG_IFAR_S)
2842 .bankedChild()
2843 .secure().exceptUserMode();
2844 InitReg(MISCREG_HDFAR)
2845 .hyp().monNonSecure();
2846 InitReg(MISCREG_HIFAR)
2847 .hyp().monNonSecure();

--- 6 unchanged lines hidden (view full) ---

2854 InitReg(MISCREG_BPIALLIS)
2855 .unimplemented()
2856 .warnNotFail()
2857 .writes(1).exceptUserMode();
2858 InitReg(MISCREG_PAR)
2859 .banked();
2860 InitReg(MISCREG_PAR_NS)
2861 .bankedChild()
2862 .privSecure(!aarch32EL3)
2842 .nonSecure().exceptUserMode();
2843 InitReg(MISCREG_PAR_S)
2844 .bankedChild()
2845 .secure().exceptUserMode();
2846 InitReg(MISCREG_ICIALLU)
2847 .writes(1).exceptUserMode();
2848 InitReg(MISCREG_ICIMVAU)
2849 .unimplemented()

--- 156 unchanged lines hidden (view full) ---

3006 .allPrivileges().exceptUserMode();
3007 InitReg(MISCREG_L2ECTLR)
3008 .unimplemented()
3009 .allPrivileges().exceptUserMode();
3010 InitReg(MISCREG_PRRR)
3011 .banked();
3012 InitReg(MISCREG_PRRR_NS)
3013 .bankedChild()
2863 .nonSecure().exceptUserMode();
2864 InitReg(MISCREG_PAR_S)
2865 .bankedChild()
2866 .secure().exceptUserMode();
2867 InitReg(MISCREG_ICIALLU)
2868 .writes(1).exceptUserMode();
2869 InitReg(MISCREG_ICIMVAU)
2870 .unimplemented()

--- 156 unchanged lines hidden (view full) ---

3027 .allPrivileges().exceptUserMode();
3028 InitReg(MISCREG_L2ECTLR)
3029 .unimplemented()
3030 .allPrivileges().exceptUserMode();
3031 InitReg(MISCREG_PRRR)
3032 .banked();
3033 InitReg(MISCREG_PRRR_NS)
3034 .bankedChild()
3035 .privSecure(!aarch32EL3)
3014 .nonSecure().exceptUserMode();
3015 InitReg(MISCREG_PRRR_S)
3016 .bankedChild()
3017 .secure().exceptUserMode();
3018 InitReg(MISCREG_MAIR0)
3019 .banked();
3020 InitReg(MISCREG_MAIR0_NS)
3021 .bankedChild()
3036 .nonSecure().exceptUserMode();
3037 InitReg(MISCREG_PRRR_S)
3038 .bankedChild()
3039 .secure().exceptUserMode();
3040 InitReg(MISCREG_MAIR0)
3041 .banked();
3042 InitReg(MISCREG_MAIR0_NS)
3043 .bankedChild()
3044 .privSecure(!aarch32EL3)
3022 .nonSecure().exceptUserMode();
3023 InitReg(MISCREG_MAIR0_S)
3024 .bankedChild()
3025 .secure().exceptUserMode();
3026 InitReg(MISCREG_NMRR)
3027 .banked();
3028 InitReg(MISCREG_NMRR_NS)
3029 .bankedChild()
3045 .nonSecure().exceptUserMode();
3046 InitReg(MISCREG_MAIR0_S)
3047 .bankedChild()
3048 .secure().exceptUserMode();
3049 InitReg(MISCREG_NMRR)
3050 .banked();
3051 InitReg(MISCREG_NMRR_NS)
3052 .bankedChild()
3053 .privSecure(!aarch32EL3)
3030 .nonSecure().exceptUserMode();
3031 InitReg(MISCREG_NMRR_S)
3032 .bankedChild()
3033 .secure().exceptUserMode();
3034 InitReg(MISCREG_MAIR1)
3035 .banked();
3036 InitReg(MISCREG_MAIR1_NS)
3037 .bankedChild()
3054 .nonSecure().exceptUserMode();
3055 InitReg(MISCREG_NMRR_S)
3056 .bankedChild()
3057 .secure().exceptUserMode();
3058 InitReg(MISCREG_MAIR1)
3059 .banked();
3060 InitReg(MISCREG_MAIR1_NS)
3061 .bankedChild()
3062 .privSecure(!aarch32EL3)
3038 .nonSecure().exceptUserMode();
3039 InitReg(MISCREG_MAIR1_S)
3040 .bankedChild()
3041 .secure().exceptUserMode();
3042 InitReg(MISCREG_AMAIR0)
3043 .banked();
3044 InitReg(MISCREG_AMAIR0_NS)
3045 .bankedChild()
3063 .nonSecure().exceptUserMode();
3064 InitReg(MISCREG_MAIR1_S)
3065 .bankedChild()
3066 .secure().exceptUserMode();
3067 InitReg(MISCREG_AMAIR0)
3068 .banked();
3069 InitReg(MISCREG_AMAIR0_NS)
3070 .bankedChild()
3071 .privSecure(!aarch32EL3)
3046 .nonSecure().exceptUserMode();
3047 InitReg(MISCREG_AMAIR0_S)
3048 .bankedChild()
3049 .secure().exceptUserMode();
3050 InitReg(MISCREG_AMAIR1)
3051 .banked();
3052 InitReg(MISCREG_AMAIR1_NS)
3053 .bankedChild()
3072 .nonSecure().exceptUserMode();
3073 InitReg(MISCREG_AMAIR0_S)
3074 .bankedChild()
3075 .secure().exceptUserMode();
3076 InitReg(MISCREG_AMAIR1)
3077 .banked();
3078 InitReg(MISCREG_AMAIR1_NS)
3079 .bankedChild()
3080 .privSecure(!aarch32EL3)
3054 .nonSecure().exceptUserMode();
3055 InitReg(MISCREG_AMAIR1_S)
3056 .bankedChild()
3057 .secure().exceptUserMode();
3058 InitReg(MISCREG_HMAIR0)
3059 .hyp().monNonSecure();
3060 InitReg(MISCREG_HMAIR1)
3061 .hyp().monNonSecure();

--- 4 unchanged lines hidden (view full) ---

3066 InitReg(MISCREG_HAMAIR1)
3067 .unimplemented()
3068 .warnNotFail()
3069 .hyp().monNonSecure();
3070 InitReg(MISCREG_VBAR)
3071 .banked();
3072 InitReg(MISCREG_VBAR_NS)
3073 .bankedChild()
3081 .nonSecure().exceptUserMode();
3082 InitReg(MISCREG_AMAIR1_S)
3083 .bankedChild()
3084 .secure().exceptUserMode();
3085 InitReg(MISCREG_HMAIR0)
3086 .hyp().monNonSecure();
3087 InitReg(MISCREG_HMAIR1)
3088 .hyp().monNonSecure();

--- 4 unchanged lines hidden (view full) ---

3093 InitReg(MISCREG_HAMAIR1)
3094 .unimplemented()
3095 .warnNotFail()
3096 .hyp().monNonSecure();
3097 InitReg(MISCREG_VBAR)
3098 .banked();
3099 InitReg(MISCREG_VBAR_NS)
3100 .bankedChild()
3101 .privSecure(!aarch32EL3)
3074 .nonSecure().exceptUserMode();
3075 InitReg(MISCREG_VBAR_S)
3076 .bankedChild()
3077 .secure().exceptUserMode();
3078 InitReg(MISCREG_MVBAR)
3079 .mon().secure().exceptUserMode();
3080 InitReg(MISCREG_RMR)
3081 .unimplemented()

--- 5 unchanged lines hidden (view full) ---

3087 InitReg(MISCREG_FCSEIDR)
3088 .unimplemented()
3089 .warnNotFail()
3090 .allPrivileges().exceptUserMode();
3091 InitReg(MISCREG_CONTEXTIDR)
3092 .banked();
3093 InitReg(MISCREG_CONTEXTIDR_NS)
3094 .bankedChild()
3102 .nonSecure().exceptUserMode();
3103 InitReg(MISCREG_VBAR_S)
3104 .bankedChild()
3105 .secure().exceptUserMode();
3106 InitReg(MISCREG_MVBAR)
3107 .mon().secure().exceptUserMode();
3108 InitReg(MISCREG_RMR)
3109 .unimplemented()

--- 5 unchanged lines hidden (view full) ---

3115 InitReg(MISCREG_FCSEIDR)
3116 .unimplemented()
3117 .warnNotFail()
3118 .allPrivileges().exceptUserMode();
3119 InitReg(MISCREG_CONTEXTIDR)
3120 .banked();
3121 InitReg(MISCREG_CONTEXTIDR_NS)
3122 .bankedChild()
3123 .privSecure(!aarch32EL3)
3095 .nonSecure().exceptUserMode();
3096 InitReg(MISCREG_CONTEXTIDR_S)
3097 .bankedChild()
3098 .secure().exceptUserMode();
3099 InitReg(MISCREG_TPIDRURW)
3100 .banked();
3101 InitReg(MISCREG_TPIDRURW_NS)
3102 .bankedChild()
3124 .nonSecure().exceptUserMode();
3125 InitReg(MISCREG_CONTEXTIDR_S)
3126 .bankedChild()
3127 .secure().exceptUserMode();
3128 InitReg(MISCREG_TPIDRURW)
3129 .banked();
3130 InitReg(MISCREG_TPIDRURW_NS)
3131 .bankedChild()
3103 .allPrivileges().monSecure(0).privSecure(0);
3132 .allPrivileges()
3133 .privSecure(!aarch32EL3)
3134 .monSecure(0);
3104 InitReg(MISCREG_TPIDRURW_S)
3105 .bankedChild()
3106 .secure();
3107 InitReg(MISCREG_TPIDRURO)
3108 .banked();
3109 InitReg(MISCREG_TPIDRURO_NS)
3110 .bankedChild()
3135 InitReg(MISCREG_TPIDRURW_S)
3136 .bankedChild()
3137 .secure();
3138 InitReg(MISCREG_TPIDRURO)
3139 .banked();
3140 InitReg(MISCREG_TPIDRURO_NS)
3141 .bankedChild()
3111 .allPrivileges().secure(0).userNonSecureWrite(0).userSecureRead(1);
3142 .allPrivileges()
3143 .userNonSecureWrite(0).userSecureRead(1)
3144 .privSecure(!aarch32EL3)
3145 .monSecure(0);
3112 InitReg(MISCREG_TPIDRURO_S)
3113 .bankedChild()
3114 .secure().userSecureWrite(0);
3115 InitReg(MISCREG_TPIDRPRW)
3116 .banked();
3117 InitReg(MISCREG_TPIDRPRW_NS)
3118 .bankedChild()
3146 InitReg(MISCREG_TPIDRURO_S)
3147 .bankedChild()
3148 .secure().userSecureWrite(0);
3149 InitReg(MISCREG_TPIDRPRW)
3150 .banked();
3151 InitReg(MISCREG_TPIDRPRW_NS)
3152 .bankedChild()
3119 .nonSecure().exceptUserMode();
3153 .nonSecure().exceptUserMode()
3154 .privSecure(!aarch32EL3);
3120 InitReg(MISCREG_TPIDRPRW_S)
3121 .bankedChild()
3122 .secure().exceptUserMode();
3123 InitReg(MISCREG_HTPIDR)
3124 .hyp().monNonSecure();
3125 InitReg(MISCREG_CNTFRQ)
3126 .unverifiable()
3127 .reads(1).mon();
3128 InitReg(MISCREG_CNTKCTL)
3129 .allPrivileges().exceptUserMode();
3130 InitReg(MISCREG_CNTP_TVAL)
3131 .banked();
3132 InitReg(MISCREG_CNTP_TVAL_NS)
3133 .bankedChild()
3155 InitReg(MISCREG_TPIDRPRW_S)
3156 .bankedChild()
3157 .secure().exceptUserMode();
3158 InitReg(MISCREG_HTPIDR)
3159 .hyp().monNonSecure();
3160 InitReg(MISCREG_CNTFRQ)
3161 .unverifiable()
3162 .reads(1).mon();
3163 InitReg(MISCREG_CNTKCTL)
3164 .allPrivileges().exceptUserMode();
3165 InitReg(MISCREG_CNTP_TVAL)
3166 .banked();
3167 InitReg(MISCREG_CNTP_TVAL_NS)
3168 .bankedChild()
3134 .allPrivileges().monSecure(0).privSecure(0);
3169 .allPrivileges()
3170 .privSecure(!aarch32EL3)
3171 .monSecure(0);
3135 InitReg(MISCREG_CNTP_TVAL_S)
3136 .unimplemented()
3137 .bankedChild()
3138 .secure().user(1);
3139 InitReg(MISCREG_CNTP_CTL)
3140 .banked();
3141 InitReg(MISCREG_CNTP_CTL_NS)
3142 .bankedChild()
3172 InitReg(MISCREG_CNTP_TVAL_S)
3173 .unimplemented()
3174 .bankedChild()
3175 .secure().user(1);
3176 InitReg(MISCREG_CNTP_CTL)
3177 .banked();
3178 InitReg(MISCREG_CNTP_CTL_NS)
3179 .bankedChild()
3143 .allPrivileges().monSecure(0).privSecure(0);
3180 .allPrivileges()
3181 .privSecure(!aarch32EL3)
3182 .monSecure(0);
3144 InitReg(MISCREG_CNTP_CTL_S)
3145 .unimplemented()
3146 .bankedChild()
3147 .secure().user(1);
3148 InitReg(MISCREG_CNTV_TVAL)
3149 .allPrivileges();
3150 InitReg(MISCREG_CNTV_CTL)
3151 .allPrivileges();

--- 50 unchanged lines hidden (view full) ---

3202 .reads(1);
3203 InitReg(MISCREG_CNTVCT)
3204 .unverifiable()
3205 .reads(1);
3206 InitReg(MISCREG_CNTP_CVAL)
3207 .banked();
3208 InitReg(MISCREG_CNTP_CVAL_NS)
3209 .bankedChild()
3183 InitReg(MISCREG_CNTP_CTL_S)
3184 .unimplemented()
3185 .bankedChild()
3186 .secure().user(1);
3187 InitReg(MISCREG_CNTV_TVAL)
3188 .allPrivileges();
3189 InitReg(MISCREG_CNTV_CTL)
3190 .allPrivileges();

--- 50 unchanged lines hidden (view full) ---

3241 .reads(1);
3242 InitReg(MISCREG_CNTVCT)
3243 .unverifiable()
3244 .reads(1);
3245 InitReg(MISCREG_CNTP_CVAL)
3246 .banked();
3247 InitReg(MISCREG_CNTP_CVAL_NS)
3248 .bankedChild()
3210 .allPrivileges().monSecure(0).privSecure(0);
3249 .allPrivileges()
3250 .privSecure(!aarch32EL3)
3251 .monSecure(0);
3211 InitReg(MISCREG_CNTP_CVAL_S)
3212 .unimplemented()
3213 .bankedChild()
3214 .secure().user(1);
3215 InitReg(MISCREG_CNTV_CVAL)
3216 .allPrivileges();
3217 InitReg(MISCREG_CNTVOFF)
3218 .hyp().monNonSecure();

--- 747 unchanged lines hidden ---
3252 InitReg(MISCREG_CNTP_CVAL_S)
3253 .unimplemented()
3254 .bankedChild()
3255 .secure().user(1);
3256 InitReg(MISCREG_CNTV_CVAL)
3257 .allPrivileges();
3258 InitReg(MISCREG_CNTVOFF)
3259 .hyp().monNonSecure();

--- 747 unchanged lines hidden ---