direct-io.hg

view patches/linux-2.6.16.29/x86_64-put-note-sections-into-a-pt_note-segment-in-vmlinux.patch @ 11750:d845c9522d9e

[HVM][SVM] Check if SVM is disabled by the BIOS before enabling it.

Newer BIOS implementations will be able to disable the SVM feature,
although an additional test of an MSR (VMCR 0xC0010114 bit 4) is
necessary (set equals disabled). Bit 4 of MSR 0xc0010114 returns 0
(SVM enabled) on machines with older BIOS' without the SVM disable
feature support.

Signed-off-by: Wei Huang <wei.huang2@amd.com>=20
Signed-off-by: Tom Woller <thomas.woller@amd.com>=20
author kfraser@localhost.localdomain
date Thu Oct 12 16:12:10 2006 +0100 (2006-10-12)
parents 041be3f6b38e
children
line source
1 diff -pruN ../orig-linux-2.6.16.29/arch/x86_64/kernel/vmlinux.lds.S ./arch/x86_64/kernel/vmlinux.lds.S
2 --- ../orig-linux-2.6.16.29/arch/x86_64/kernel/vmlinux.lds.S 2006-09-12 19:02:10.000000000 +0100
3 +++ ./arch/x86_64/kernel/vmlinux.lds.S 2006-09-19 14:06:15.000000000 +0100
4 @@ -14,6 +14,12 @@ OUTPUT_FORMAT("elf64-x86-64", "elf64-x86
5 OUTPUT_ARCH(i386:x86-64)
6 ENTRY(phys_startup_64)
7 jiffies_64 = jiffies;
8 +PHDRS {
9 + text PT_LOAD FLAGS(5); /* R_E */
10 + data PT_LOAD FLAGS(7); /* RWE */
11 + user PT_LOAD FLAGS(7); /* RWE */
12 + note PT_NOTE FLAGS(4); /* R__ */
13 +}
14 SECTIONS
15 {
16 . = __START_KERNEL;
17 @@ -26,7 +32,7 @@ SECTIONS
18 KPROBES_TEXT
19 *(.fixup)
20 *(.gnu.warning)
21 - } = 0x9090
22 + } :text = 0x9090
23 /* out-of-line lock text */
24 .text.lock : AT(ADDR(.text.lock) - LOAD_OFFSET) { *(.text.lock) }
26 @@ -43,17 +49,10 @@ SECTIONS
27 .data : AT(ADDR(.data) - LOAD_OFFSET) {
28 *(.data)
29 CONSTRUCTORS
30 - }
31 + } :data
33 _edata = .; /* End of data section */
35 - __bss_start = .; /* BSS */
36 - .bss : AT(ADDR(.bss) - LOAD_OFFSET) {
37 - *(.bss.page_aligned)
38 - *(.bss)
39 - }
40 - __bss_stop = .;
41 -
42 . = ALIGN(PAGE_SIZE);
43 . = ALIGN(CONFIG_X86_L1_CACHE_BYTES);
44 .data.cacheline_aligned : AT(ADDR(.data.cacheline_aligned) - LOAD_OFFSET) {
45 @@ -75,7 +74,7 @@ SECTIONS
46 #define VVIRT(x) (ADDR(x) - VVIRT_OFFSET)
48 . = VSYSCALL_ADDR;
49 - .vsyscall_0 : AT(VSYSCALL_PHYS_ADDR) { *(.vsyscall_0) }
50 + .vsyscall_0 : AT(VSYSCALL_PHYS_ADDR) { *(.vsyscall_0) } :user
51 __vsyscall_0 = VSYSCALL_VIRT_ADDR;
53 . = ALIGN(CONFIG_X86_L1_CACHE_BYTES);
54 @@ -118,7 +117,7 @@ SECTIONS
55 . = ALIGN(8192); /* init_task */
56 .data.init_task : AT(ADDR(.data.init_task) - LOAD_OFFSET) {
57 *(.data.init_task)
58 - }
59 + } :data
61 . = ALIGN(4096);
62 .data.page_aligned : AT(ADDR(.data.page_aligned) - LOAD_OFFSET) {
63 @@ -188,6 +187,14 @@ SECTIONS
64 . = ALIGN(4096);
65 __nosave_end = .;
67 + __bss_start = .; /* BSS */
68 + . = ALIGN(4096);
69 + .bss : AT(ADDR(.bss) - LOAD_OFFSET) {
70 + *(.bss.page_aligned)
71 + *(.bss)
72 + }
73 + __bss_stop = .;
74 +
75 _end = . ;
77 /* Sections to be discarded */
78 @@ -201,4 +208,6 @@ SECTIONS
79 STABS_DEBUG
81 DWARF_DEBUG
82 +
83 + NOTES
84 }