miscregs.hh (12529:d110a01d2689) miscregs.hh (12530:ab63172c4fbe)
1/*
2 * Copyright (c) 2010-2018 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

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

672 MISCREG_FREESLOT_2, // 601
673 MISCREG_FREESLOT_3, // 602
674 MISCREG_FREESLOT_4, // 603
675 MISCREG_FREESLOT_5, // 604
676 MISCREG_FREESLOT_6, // 605
677
678 // NUM_PHYS_MISCREGS specifies the number of actual physical
679 // registers, not considering the following pseudo-registers
1/*
2 * Copyright (c) 2010-2018 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

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

672 MISCREG_FREESLOT_2, // 601
673 MISCREG_FREESLOT_3, // 602
674 MISCREG_FREESLOT_4, // 603
675 MISCREG_FREESLOT_5, // 604
676 MISCREG_FREESLOT_6, // 605
677
678 // NUM_PHYS_MISCREGS specifies the number of actual physical
679 // registers, not considering the following pseudo-registers
680 // (dummy registers), like UNKNOWN, CP15_UNIMPL...
680 // (dummy registers), like UNKNOWN, CP15_UNIMPL, MISCREG_IMPDEF_UNIMPL.
681 // Checkpointing should use this physical index when
682 // saving/restoring register values.
683 NUM_PHYS_MISCREGS = 606, // 606
684
685 // Dummy registers
686 MISCREG_NOP,
687 MISCREG_RAZ,
688 MISCREG_CP14_UNIMPL,
689 MISCREG_CP15_UNIMPL,
690 MISCREG_A64_UNIMPL,
691 MISCREG_UNKNOWN,
692
681 // Checkpointing should use this physical index when
682 // saving/restoring register values.
683 NUM_PHYS_MISCREGS = 606, // 606
684
685 // Dummy registers
686 MISCREG_NOP,
687 MISCREG_RAZ,
688 MISCREG_CP14_UNIMPL,
689 MISCREG_CP15_UNIMPL,
690 MISCREG_A64_UNIMPL,
691 MISCREG_UNKNOWN,
692
693 // Implementation defined register: this represent
694 // a pool of unimplemented registers whose access can throw
695 // either UNDEFINED or hypervisor trap exception.
696 MISCREG_IMPDEF_UNIMPL,
697
693 // Total number of Misc Registers: Physical + Dummy
694 NUM_MISCREGS
695 };
696
697 enum MiscRegInfo {
698 MISCREG_IMPLEMENTED,
699 MISCREG_UNVERIFIABLE, // Does the value change on every read (e.g. a
700 // arch generic counter)

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

1375 "num_phys_regs",
1376
1377 // Dummy registers
1378 "nop",
1379 "raz",
1380 "cp14_unimpl",
1381 "cp15_unimpl",
1382 "a64_unimpl",
698 // Total number of Misc Registers: Physical + Dummy
699 NUM_MISCREGS
700 };
701
702 enum MiscRegInfo {
703 MISCREG_IMPLEMENTED,
704 MISCREG_UNVERIFIABLE, // Does the value change on every read (e.g. a
705 // arch generic counter)

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

1380 "num_phys_regs",
1381
1382 // Dummy registers
1383 "nop",
1384 "raz",
1385 "cp14_unimpl",
1386 "cp15_unimpl",
1387 "a64_unimpl",
1383 "unknown"
1388 "unknown",
1389 "impl_defined"
1384 };
1385
1386 static_assert(sizeof(miscRegName) / sizeof(*miscRegName) == NUM_MISCREGS,
1387 "The miscRegName array and NUM_MISCREGS are inconsistent.");
1388
1389 BitUnion32(CPSR)
1390 Bitfield<31, 30> nz;
1391 Bitfield<29> c;

--- 548 unchanged lines hidden ---
1390 };
1391
1392 static_assert(sizeof(miscRegName) / sizeof(*miscRegName) == NUM_MISCREGS,
1393 "The miscRegName array and NUM_MISCREGS are inconsistent.");
1394
1395 BitUnion32(CPSR)
1396 Bitfield<31, 30> nz;
1397 Bitfield<29> c;

--- 548 unchanged lines hidden ---