-/* map psr mode bits to linear number */
-int armv4_5_mode_to_number(enum armv4_5_mode mode)
-{
- switch (mode)
- {
- case 16: return 0; break;
- case 17: return 1; break;
- case 18: return 2; break;
- case 19: return 3; break;
- case 23: return 4; break;
- case 27: return 5; break;
- case 31: return 6; break;
- case -1: return 0; break; /* map MODE_ANY to user mode */
- default:
- ERROR("invalid mode value encountered");
- return -1;
- }
-}
-
-/* map linear number to mode bits */
-enum armv4_5_mode armv4_5_number_to_mode(int number)
-{
- switch(number)
- {
- case 0: return ARMV4_5_MODE_USR; break;
- case 1: return ARMV4_5_MODE_FIQ; break;
- case 2: return ARMV4_5_MODE_IRQ; break;
- case 3: return ARMV4_5_MODE_SVC; break;
- case 4: return ARMV4_5_MODE_ABT; break;
- case 5: return ARMV4_5_MODE_UND; break;
- case 6: return ARMV4_5_MODE_SYS; break;
- default:
- ERROR("mode index out of bounds");
- return -1;
- }
-};
-