| 679 | } |
| 680 | |
| 681 | static enum vm_paging_mode |
| 682 | svm_paging_mode(uint64_t cr0, uint64_t cr4, uint64_t efer) |
| 683 | { |
| 684 | |
| 685 | if ((cr0 & CR0_PG) == 0) |
| 686 | return (PAGING_MODE_FLAT); |
| 687 | if ((cr4 & CR4_PAE) == 0) |
| 688 | return (PAGING_MODE_32); |
| 689 | if (efer & EFER_LME) |
| 690 | return (PAGING_MODE_64); |
| 691 | else |
| 692 | return (PAGING_MODE_PAE); |
| 693 | } |
| 694 | |
| 695 | /* |
| 696 | * ins/outs utility routines |