linux下做git的版本管理工具,教你读Git——Linux内核版本管理工具

arch/x86/kernel/cpu/perf_event_amd_ibs.c | 53 ++++++++++++++++++++++++++-----

1 file changed, 45 insertions(+), 8 deletions(-)

--- a/arch/x86/kernel/cpu/perf_event_amd_ibs.c

+++ b/arch/x86/kernel/cpu/perf_event_amd_ibs.c

@@ -9,6 +9,7 @@

#include

#include

#include

+#include

#include

@@ -209,6 +210,18 @@ out:

return ret;

}

+static void ibs_eilvt_setup(void)

+{

+/*

+ * Force LVT offset assignment for family 10h: The offsets are

+ * not assigned by the BIOS for this family, so the OS is

+ * responsible for doing it. If the OS assignment fails, fall

+ * back to BIOS settings and try to setup this.

+ */

+if (boot_cpu_data.x86 == 0x10)

+force_ibs_eilvt_setup();

+}

+

static inline int get_ibs_lvt_offset(void)

{

u64 val;

@@ -244,6 +257,36 @@ static void clear_APIC_ibs(void *dummy)

setup_APIC_eilvt(offset, 0, APIC_EILVT_MSG_FIX, 1);

}

+#ifdef CONFIG_PM

+

+static int perf_ibs_suspend(void)

+{

+clear_APIC_ibs(NULL);

+return 0;

+}

+

+static void perf_ibs_resume(void)

+{

+ibs_eilvt_setup();

+setup_APIC_ibs(NULL);

+}

+

+static struct syscore_ops perf_ibs_syscore_ops = {

+.resume= perf_ibs_resume,

+.suspend= perf_ibs_suspend,

+};

+

+static void perf_ibs_pm_init(void)

+{

+register_syscore_ops(&perf_ibs_syscore_ops);

+}

+

+#else

+

+static inline void perf_ibs_pm_init(void) { }

+

+#endif

+

static int __cpuinit

perf_ibs_cpu_notifier(struct notifier_block *self, unsigned long action, void *hcpu)

{

@@ -270,18 +313,12 @@ static __init int amd_ibs_init(void)

if (!caps)

return -ENODEV;/* ibs not supported by the cpu */

-/*

- * Force LVT offset assignment for family 10h: The offsets are

- * not assigned by the BIOS for this family, so the OS is

- * responsible for doing it. If the OS assignment fails, fall

- * back to BIOS settings and try to setup this.

- */

-if (boot_cpu_data.x86 == 0x10)

-force_ibs_eilvt_setup();

1 file changed, 45 insertions(+), 8 deletions(-)

--- a/arch/x86/kernel/cpu/perf_event_amd_ibs.c

+++ b/arch/x86/kernel/cpu/perf_event_amd_ibs.c

这三行是概括。

第一行说一个文件被修改了,添加了45行代码,删除了8行代码。

第二行的‘---’代码修改前的文件。

第三行的‘+++’代表修改后的文件。

@@ -209,6 +210,18 @@ out:

这里的 ‘@@’ 标明改动信息,’-209,6 +210,18 @@ out‘意思是在改动前的209行之后的6行,再改动之后成为了新文件里的210行之后的18行。

’+static void ibs_eilvt_setup(void)‘ 这里的’+‘号标明这一行代码是被添加的。

'-              if  (boot_cpu_data.x86 == 0x10)'  标明这一行代码被删除。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值