官术网_书友最值得收藏!

Control registers

Processors based on the Intel architecture have a set of control registers that are used for configuration of the processor at run time (such as switching between execution modes). These registers are 32-bit wide on x86 and 64-bit wide on AMD64 (long mode).

There are six control registers and one Extended Feature Enable Register (EFER):

  • CR0: This register contains various control flags that modify the basic operation of the processor.
  • CR1: This register is reserved for future use.
  • CR2: This register contains the Page Fault Linear Address when a page fault occurs.
  • CR3: This register is used when virtual addressing is enabled (paging) and contains the physical address of the page directory, page directory pointer table, or page map level 4 table, depending on the current mode of operation.
  • CR4: This register is used in the protected mode for controlling different options of the processor.
  • CR8: This register is new and is only available in long mode. It is used for prioritization of external interrupts.
  • EFER: This register is one of the several model-specific registers. It is used for enabling/disabling SYSCALL/SYSRET instructions, entering/exiting long mode, and a few other features. Other model-specific registers are of no interest for us.

However, these registers are not accessible in ring3 (user land).

主站蜘蛛池模板: 芷江| 金昌市| 视频| 寻乌县| 蒙城县| 慈利县| 乌鲁木齐市| 屏山县| 元谋县| 兖州市| 孟村| 唐河县| 桐梓县| 武鸣县| 通江县| 射洪县| 隆安县| 景洪市| 锦屏县| 理塘县| 齐齐哈尔市| 双鸭山市| 清流县| 孟连| 延安市| 河津市| 靖州| 万宁市| 弋阳县| 平果县| 天等县| 德庆县| 龙州县| 新野县| 河西区| 三穗县| 开江县| 五指山市| 阆中市| 东明县| 婺源县|