CR0-4寄存器介绍

x86体系结构控制寄存器--CR0 这个特性对于实现写时复制(copy-on-write)方法非常有用,该方法用于创建新进程时,将进程的内存映射到相同的物理页面,直到需要修改页面内容时才进行实际的拷贝。当NW和CD标志都被清除时,对于命中缓存的写操作,启用写回(对于Pentium 4、Intel Xeon、P6家族和Pentium处理器)或写穿(对于Intel486处理器)。当AM标志被设置时,处理器会在特定的条件下执行对齐检查,而当AM标志被清除时,对齐检查将被禁用。需要注意的是,CD标志的设置会限制缓存的使用,进而影响系统的性能。 阅读详情

控制寄存器(CR0~CR3)用于控制和确定处理器的操作模式以及当前执行任务的特性,如图4-3所示。

CR0中含有控制处理器操作模式和状态的系统控制标志;

CR1保留不用;

CR2含有导致页错误的线性地址;

CR3中含有页目录表物理内存基地址,因此该寄存器也被称为页目录基地址寄存器PDBR(Page-Directory Base addressRegister)。

 

 

CR0


x86_32的CR0为32bit。X86_64下为64bit,其中低32bit与x86_32的CR0保持一致,高32bit没有定义,作保留使用,除了bit 4其他所有位都是可读可写的。

Protected-Mode Enable (PE) Bit. Bit0. PE=0,表示CPU处于实模式; PE=1表CPU处于保护模式,并使用分段机制。

Paging Enable (PG) Bit. Bit 31. 该位控制分页机制,PG=1,启动分页机制;PG=0,不使用分页机制。

 

 

CR2

存放发生页错误时的虚拟地址,格式如下:

 

 

CR3

用来存放最高级页目录地址(物理地址),各级页表项中存放的也是物理地址。格式如下:


Page-Level Writethrough (PWT) Bit. Bit3. Page-level writethrough indicates whether the highest-

level page-translation table has a writeback orwritethrough caching policy. When PWT=0, the table

has a writeback caching policy. When PWT=1, the tablehas a writethrough caching policy.

Page-Level Cache Disable (PCD) Bit. Bit4. PCD=1,表示最高目录表不可缓存,PCD=0,相反。

    图3-4中不使用PAE技术,有两层页表。最高层为页目录有1024项,占用4KB。page_directory_table baseaddress为物理地址,指向4KB对齐的页目录地址。

    图3-5中,使用PAE技术,三层页表寻址。最高层为页目录指针,4项,占用32B空间。所以  page_directory_table baseaddress为27位,指向32B对齐的页目录指针表。

 

 

CR4

   legacy mode 下低32位与x86_32的CR4一致,

Virtual-8086 Mode Extensions (VME) Bit. Bit0. Setting VME to 1 enables hardware-supported

performance enhancements for software running invirtual-8086 mode. Clearing VME to 0 disables

this support. The enhancements enabled when VME=1include:

 

Virtualized, maskable, external-interrupt control andnotification using the VIF and VIP bits in the

rFLAGS register. Virtualizing affects the operation ofseveral instructions that manipulate the

rFLAGS.IF bit.

Selective intercept of software interrupts (INTninstructions) using the interrupt-redirection

bitmap in the TSS.

Protected-Mode Virtual Interrupts (PVI) Bit. Bit1. Setting PVI to 1 enables support for protected-

mode virtual interrupts. Clearing PVI to 0 disablesthis support. When PVI=1, hardware support of

two bits in the rFLAGS register, VIF and VIP, isenabled.

Only the STI and CLI instructions are affected byenabling PVI. Unlike the case when CR0.VME=1,

the interrupt-redirection bitmap in the TSS cannot beused for selective INTn interception.

PVI enhancements are also supported in long mode. See“Virtual Interrupts” on page 251 for more

information on using PVI.

Time-Stamp Disable (TSD) Bit. Bit 2. TheTSD bit allows software to control the privilege level at

which the time-stamp counter can be read. When TSD iscleared to 0, software running at any privilege

level can read the time-stamp counter using the RDTSCor RDTSCP instructions. When TSD is set to

1, only software running at privilege-level 0 canexecute the RDTSC or RDTSCP instructions.

Debugging Extensions (DE) Bit. Bit3. Setting the DE bit to 1 enables the I/O breakpoint capability

and enforces treatment of the DR4 and DR5 registers asreserved. Software that accesses DR4 or DR5

when DE=1 causes a invalid opcode exception (#UD).

When the DE bit is cleared to 0, I/O breakpointcapabilities are disabled. Software references to the

DR4 and DR5 registers are aliased to the DR6 and DR7registers, respectively.

Page-Size Extensions (PSE) Bit. Bit4. PSE=1,启用PSE,PSE=0,不启用。

Physical-Address Extension (PAE) Bit. Bit5.PAE=1,启用PAE,支持2MB的超级页(superpage);PAE=0,不启用PAE。

Machine-Check Enable (MCE) Bit. Bit6. Setting MCE to 1 enables the machine-check exception

mechanism. Clearing this bit to 0 disables themechanism. When enabled, a machine-check exception

(#MC) occurs when an uncorrectable machine-check erroris encountered.

Regardless of whether machine-check exceptions areenabled, the processor records enabled-errors

when they occur. Error-reporting is performed by themachine-check error-reporting register banks.

Each bank includes a control register for enablingerror reporting and a status register for capturing

errors. Correctable machine-check errors are also reported,but they do not cause a machine-check

exception.

See Chapter 9, “Machine Check Mechanism,” for adescription of the machine-check mechanism, the

registers used, and the types of errors captured bythe mechanism.

Page-Global Enable (PGE) Bit. Bit7. When page translation is enabled, system-software

performance can often be improved by making some pagetranslations global to all tasks and

procedures. Setting PGE to 1 enables the global-pagemechanism. Clearing this bit to 0 disables the

mechanism.

When PGE is enabled, system software can set theglobal-page (G) bit in the lowest level of the pagetranslation hierarchy to 1,indicating that the page translation is global. Page translations markedasglobal are not invalidated in the TLB when the page-translation-table baseaddress (CR3) is updated.

When the G bit is cleared, the page translation is notglobal. All supported physical-page sizes also support the global-pagemechanism. See “Global Pages” on page 142 for information on usingthe global-page mechanism.

Performance-Monitoring Counter Enable (PCE) Bit. Bit8. Setting PCE to 1 allows software running at any privilege level to usethe RDPMC instruction. Software uses the RDPMC instruction to read theperformance-monitoring MSRs, PerfCtrn. Clearing PCE to 0 allows only themost-privileged software (CPL=0) to use the RDPMC instruction.

FXSAVE/FXRSTOR Support (OSFXSR) Bit. Bit9. System software must set the OSFXSR bit to 1 to enable use of the256-bit and 128-bit media instructions. When this bit is set to 1, it alsoindicates

that system software uses the FXSAVE and FXRSTORinstructions to save and restore the processor

state for the x87, 64-bit media, and 128-bit mediainstructions.

Clearing the OSFXSR bit to 0 indicates that 256-bitand 128-bit media instructions cannot be used.

Attempts to use those instructions while this bit isclear result in an invalid-opcode exception (#UD).

Software can continue to use the FXSAVE/FXRSTORinstructions for saving and restoring the processor state for the x87 and64-bit media instructions.

Unmasked Exception Support (OSXMMEXCPT) Bit. Bit10. System software must set the OSXMMEXCPT bit to 1 when it supports theSIMD floating-point exception (#XF) for handling of unmasked 256-bit and128-bit media floating-point errors. Clearing the OSXMMEXCPT bit to0 indicates the #XF handler is not supported. When OSXMMEXCPT=0, unmasked128-bit media floating-point exceptions cause an invalid-opcode exception(#UD). See “SIMD Floating-Point Exception Causes” in Volume 1 for moreinformation on unmasked SSE floating-point exceptions.

XSAVE and Extended States (OSXSAVE) Bit. Bit18. If this bit is set to 1 then the operating system

supports the XGETBV, XSETBV, XSAVE and XRSTOR instructions.The processor will also be able

to execute XGETBV and XSETBV instructions in order toread and write XCR0. Also, if set, the

XSAVE and XRSTOR instructions can save and restore thex87 FPU state (including MMX registers),

the SSE state (YMM/XMM registers and MXCSR), alongwith other processor extended states

enabled in XCR0.

 

Extended Feature Enable Register (EFER)

System-Call Extension (SCE) Bit. Bit0. Setting this bit to 1 enables the SYSCALL and SYSRET

instructions. Application software can use theseinstructions for low-latency system calls and returns in a non-segmented(flat) address space. See “Fast System Call and Return” on page 152 foradditional information.

Long Mode Enable (LME) Bit. Bit 8. LME=1,启用longmode,注意必须先将CR0.PG=0后才能设置LME=1,然后再设置CR0.PG=1,则进入longmode。LME=0 ,使用legacy mode。

Long Mode Active (LMA) Bit. Bit 10, read-only. This bitindicates that long mode is active. The

processor sets LMA to 1 when both long mode and paginghave been enabled by system software. See

Chapter 14, “Processor Initialization and Long ModeActivation,” for more information on activating long mode.

When LMA=1, the processor is running either incompatibility mode or 64-bit mode, depending on the

value of the L bit in a code-segment descriptor, asshown in Figure 1-6 on page 12.

When LMA=0, the processor is running in legacy mode.In this mode, the processor behaves like a

standard 32-bit x86 processor, with none of the new64-bit features enabled.

No-Execute Enable (NXE) Bit. Bit 11. Setting this bitto 1 enables the no-execute page-protection

feature. The feature is disabled when this bit iscleared to 0. See “No Execute (NX) Bit” on page 145 for more information.

Before setting NXE, system software should verify theprocessor supports the feature by examining

the extended-feature flags returned by the CPUIDinstruction. For more information, see the CPUID

Specification, order# 25481.

Secure Virtual Machine Enable (SVME) Bit. Bit 12.Enables the SVM extensions. When this bit is

zero, the SVM instructions cause #UD exceptions.EFER.SVME defaults to a reset value of zero. The

effect of turning off EFER.SVME while a guest isrunning is undefined; therefore, the VMM should

always prevent guests from writing EFER. SVMextensions can be disabled  by setting  VM_CR.SVME_DISABLE . For more information, see descriptions of LOCK and SMVE_DISABLE bitsin Section 15.29.1, “VM_CR MSR (C001_0114h),” on page 431.

Long Mode Segment Limit Enable (LMSLE) bit. Bit 13.Setting this bit to 1 enables certain limit

checks in 64-bit mode. See Section 4.12.2, "DataLimit Checks in 64-bit Mode", for more information

on these limit checks.

Fast FXSAVE/FXRSTOR (FFXSR) Bit. Bit 14. Setting thisbit to 1 enables the FXSAVE and FXRSTOR instructions to execute faster in64-bit mode at CPL 0. This is accomplished by not saving or restoring theXMM registers (XMM0-XMM15). The FFXSR bit has no effect whenthe FXSAVE/FXRSTOR instructions are executed in non 64-bit mode, or whenCPL > 0. The FFXSR bit does not affect the save/restore of the legacyx87 floating-point state, or the save/restore of MXCSR.

Before setting FFXSR, system software should verifywhether this feature is supported by examining

the CPUID extended feature flags returned by the CPUID instruction.For more information, see

"Function 8000_0001h: Processor Signature and AMDFeatures" in Volume 3.

 


x64内核实验3-页机制的研究(1) 在白皮书的第三卷2.5章对控制寄存器有详细的介绍,下面是白皮书中CR寄存器的结构图(这里要说明一下cr4的第12位是由被使用的这个位在2.5章的后半部分有介绍是控制是否开启5级分页的位否则是四级分页)首先是smep和smap两个位,这部分因为之前的实验会用到所以已经在段机制的部分介绍过了,这里就不再赘述其余一些位置的功能后面用到了会继续介绍,这边有个结构的概念就可以了。 阅读详情

相关推荐

X86控制寄存器和系统地址寄存器、实模式与保护模式编程

控制寄存器和系统地址寄存器是x86架构中重要的寄存器,用于控制和管理处理器的行为。本文将详细介绍x86控制寄存器和系统地址寄存器的功能,以及在实模式和保护模式下进行编程的相关内容,并提供相应的源代码示例。本文介绍了x86架构中的控制寄存器和系统地址寄存器,以及实模式和保护模式的编程方法。CR0寄存器是x86处理器中最重要的控制寄存器之一,它用于控制处理器的工作模式和特性。在启用分页机制的情况下,CR3寄存器中存储的物理地址指向当前进程的页目录表。GDT是一个存储段描述符的表格,用于管理内存分段和访问权限。

CodeRoarX的博客 313

x86/x86_64 下的 CPU 控制寄存器

x86/x86_64 CPU 中提供了控制寄存器,来决定 CPU 的操作模式和当前执行任务的属性。这些寄存器在 32 位模式下是 32 bit,在 64 位模式中,控制寄存器扩展为 64 bit。CPU 架构中共有 CR0、CR1、CR2、CR3、CR4、CR8 共 6 个控制寄存器。

Projectsauron 的博客 5万+

快衰落、慢衰落,平坦衰落、频率选择性衰落

目录一、大尺度衰落和小尺度衰落二、平坦衰落和频率选择性衰落1.反射墙、固定天线模型2.相干带宽和时延扩展三、快衰落和慢衰落1.反射墙、运动天线模型2.相干时间和多普勒扩展四、联系总结 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、大尺度衰落和小尺度衰落 移动无线信道的主要特征是信道强度关于时间和频率的变化,大致分两种: 大尺度衰落: .

weixin_45662974的博客 3万+

21.控制寄存器(CR0-CR4)

https://blog.youkuaiyun.com/Kwansy/article/details/109018064

qq_35129925的博客 903

ros_control硬件接口实战:从零构建机器人控制框架

本文详细介绍了ros_control硬件接口在机器人控制框架中的核心作用与实践方法。通过解析硬件接口类型、实现标准接口、构建主控制循环及自定义功能扩展,帮助开发者从零构建高效的机器人控制系统,提升硬件与ROS的协同效率。

lstm7chronicler的博客 500

自适应粒子群优化(Adaptive Particle Swarm Optimization,APSO

下面是一个关于自适应粒子群优化(Adaptive Particle Swarm Optimization,APSO)的博客,希望可以帮助您。提示:以下是本篇文章正文内容,下面案例可供参考在上面的代码中,表示粒子的数量,表示解空间的维度,表示迭代次数,表示优化的目标函数。在__init__方法中,我们初始化了粒子群的位置和速度,并将每个粒子的位置作为其最优解,将其适应度值初始化为正无穷。我们还初始化了学习因子和惯性权重的参数。在run方法中,我们迭代了次,计算每个粒子的适应度值和最优解。

weixin_52026057的博客 9917

控制寄存器(CR0,CR1,CR2,CR3,CR4)

CR0 是系统内的控制寄存器之一。控制寄存器是一些特殊的寄存器,它们可以控制CPU的一些重要特性。      0位是保护允许位PE(Protedted Enable),用于启动保护模式,如果PE位置1,则保护模式启动,如果PE=0,则在实模式下运行。      1 位是监控协处理位MP(Moniter coprocessor),它与第3位一起决定:当TS=1时操作码WAIT是否产生一个“协处理

whatday的专栏 3万+

Slurm集群调度策略详解(1)-主调度

Slurm调度系统中针对作业的调度主要有三种,主调度,回填调度,GANG调度,这篇文章主要针对主调度进行解析。

h_m_l的博客 6031

x64 各个cr控制寄存器 含义/用途 (cr0 cr1 cr2 cr3 cr4 cr8)

Cr0:当前处理器运行标志 Cr1:保留不使用 Cr2:发生页面错误时的地址 Cr3:页目录表基址,表示当前执行进程 Cr4:处理器扩展功能标志位 Cr8:当前Irql权限等级 各个Cr寄存器的位域结构体可以在Intel开发者手册进行查阅。 部分来源于网络,部分来源于自己总结。 如有不对,欢迎评论区指出。谢谢。 ...

Sprite雪碧 6787

基于Python API的ECMWF大气数据批量下载与自动化处理实践

本文详细介绍了如何利用Python API实现ECMWF大气数据的自动化批量下载与处理。针对遥感分析中手动下载ERA5等数据的痛点,文章提供了从API密钥配置、核心脚本编写到元数据解析、任务队列调度及数据质量检查的全流程实践指南,旨在帮助科研与工程人员高效获取并处理大规模气象数据。

u8v9w0x1y的博客 479

二、声明式 Pipeline 语法

选择型参数,一般用于给定几个可选的值,然后选择其中一个进行赋值,例如:parameters { choice(name: ‘CHOICES’, choices: [‘one’, ‘two’, ‘three’], description: ‘’) },表示定义一个名为 CHOICES 的变量,可选的值为 one、two、three;默认情况下,如果定义了某个 stage 的 agent,在进入该 stage 的 agent 后,该 stage 的 when条件才会被评估,但是可以通过一些选项更改此选项。

Cyan_Jiang的博客 1220

控制寄存器(CR0,CR1,CR2,CR3)和CR4

http://blog.sina.com.cn/s/blog_4017fe890100gg51.html http://blog.sina.com.cn/s/blog_85998e38010122wq.html http://www.tyut.edu.cn/kecheng1/2008/site04/courseware/chapter2/2-5-2.html 控制寄存器 (控制寄存器

习惯就好zz的专栏 6067

基于simulink的多能源系统协同与能源互联网的电网系统场景实例:虚拟电厂(VPP)中电网与储能集群的协同控制

本文详细介绍了使用Simulink构建虚拟电厂(VPP)与储能集群协同控制系统的完整建模过程。主要内容包括:1) VPP系统架构设计;2)分步骤建模过程,涵盖虚拟电厂系统创建、储能单元与集群建模、VPP控制器设计(核心)以及协同控制场景仿真;3)性能分析与典型应用场景。通过混合整数线性规划优化调度和智能指令分解策略,实现了VPP参与电力市场交易、电网调频调峰等功能,验证了系统在提升可再生能源消纳率(96%)、降低电网峰谷差(35%)等方面的优异性能。该建模方法为能源互联网中的分布式资源聚合与协同控制提供了实

xiaoheshang_123的博客 474

Windows控制寄存器CR0/1/2/3/4(Windows内核学习笔记)

1.概述 控制寄存器用于控制和确定CPU的操作模式。主要有:CR0\CR1\CR2\CR3\CR4 2.CR0寄存器 PE:启用保护模式标志,1是保护模式,0是实模式,这个位只是开始或关闭段机制,并没有启用分页机制 PG:分页机制开关,在启用之前需要确保PE是开启的,否则会出现异常 WP:写保护标志,禁止0环程序向3环只读页面执行写操作,也就是说当CPL<3的时候,如果WP=0,可以读写任...

KOOKNUT的博客 1881

YOLOv8性能突破:DySample超轻量动态上采样算子的创新应用与实现【附保姆级代码】

YOLOv8(You Only Look Once Version 8)作为YOLO系列模型的最新版本,延续了高效、准确的目标检测优势。其基础结构包含了骨干网络(Backbone)、检测头(Head)、以及特征融合层(Neck)。在特征融合阶段,YOLOv8需要对不同尺度的特征图进行上采样,以便将低分辨率的特征与高分辨率的特征进行融合。传统的上采样操作多使用插值(如双线性插值)或固定卷积,而这些方法可能无法很好地适应复杂的上下文信息。

一键难忘的博客 3122

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

CR0控制寄存器

CR0 是系统内的控制寄存器之一。控制寄存器是一些特殊的寄存器,它们可以控制CPU的一些重要特性。 0位是保护允许位PE(Protedted Enable),用于启动保护模式,如果PE位置1,则保护模式启动,如果PE=0,则在实模式下运行。 1 位是监控协处理位MP(Moniter coprocessor),它与第3位一起决定:当TS=1时操作码WAIT是否产生一个“协处理器不能使用”的出错信号。第3位是任务转换位(Task Switch),当一个任务转换完成之后,自动将它置1。随着TS=1,就不能使用协.

ZZHinclude的博客 7550

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

CPU-控制寄存器

控制寄存器有5个,分别是Cr0 Cr1 Cr2 Cr3 Cr4 Cr1: 保留 Cr3:页目录基地址寄存器,用来切换和定位当前正在使用的页表。 Cr0 寄存器: 结构图: PE 位:启用保护(Protection Enable)标志 PE=1 :保护模式 PE=0: 实地址模式 这个标志仅开启段级保护,而没有启用分页机制 若要启用分页机制,那么PE和PG标志都要置位 PG 位:分页机制标志 PG=1 :开启了分页机制 PG=0:未开启分页机制 在开启这个标志之前必须..

maomao171314的专栏 1876

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

自制操作系统day8 (鼠标数据取得、通往32位模式之路、A20GATE、切换到保护模式、控制寄存器cr0-cr4以及cr8、ALIGNB)

这段代码展示了如何通过FIFO队列处理鼠标输入数据,并将其解码为可读信息。以下是主要功能与流程的简要说明: 初始化与启用鼠标: 通过enable_mouse函数启用鼠标,并初始化鼠标解码器MOUSE_DEC,等待鼠标的ACK响应(0xFA)。 主事件循环: 在主循环中,通过fifo8_status检查键盘和鼠标FIFO队列的状态。若无数据,则休眠;若有数据,则分别处理键盘或鼠标输入。 鼠标数据解码: 使用mouse_decode函数逐步解析鼠标数据包(通常为3字节)。当完整的数据包接收完毕后,将其以十六进制

2402_84235386的博客 1427

关于CPU寄存器的那些事儿(7)——控制寄存器

控制寄存器是CPU中一组相当重要的寄存器,我们知道eflags寄存器记录了当前运行线程的一系列关键信息。 那CPU运行过程中自身的一些关键信息保存在哪里呢?答案是控制寄存器! 32位CPU总共有cr0-cr4共5个控制寄存器,64位增加了cr8。他们各自有不同的功能,但都存储了CPU工作时的重要信息: cr0: 存储了CPU控制标记和工作状态 cr1: 保留未使用 cr2: 页错误出现时保存导致出错的地址 cr3: 存储了当前进程的虚拟地址空间的重要信息——页目录地址 cr4: 也.

哦,原来你也在这里。 2136

ring0下cr0的作用

CR0 是系统内的控制寄存器之一。控制寄存器是一些特殊的寄存器,它们可以控制CPU的一些重要特性。      0位是保护允许位PE(Protedted Enable),用于启动保护模式,如果PE位置1,则保护模式启动,如果PE=0,则在实模式下运行。      1 位是监控协处理位MP(Moniter coprocessor),它与第3位一起决定:当TS=1时操作码WAIT是否产生一个“协处理

求索 1455

[转](28)控制寄存器

CR0寄存器 PE:置0表示实地址模式;置1表示保护模式。 PG:置0表示不开启分页机制;置1表示开启分页机制。 WP:置0表示R0代码可以读写任意用户级物理页;置1表示R0可以读取任意用户级物理页,但对于只读的物理页则不能写。 CR1寄存器 保留,不使用。 CR2寄存器 当CPU访问某个无效页面时,会产生缺页异常,此时,CPU会将引起异常 的线性地址存放在CR2中。 CR3寄存器 存储进程页目录。 CR4寄存器 ...

weixin_41875267的博客 292
上一篇: 为WinDbg设置符号文件路径
下一篇: windows驱动加载顺序
epluguo
博客等级 码龄18年 34粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值