aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/i386/kernel/head.S38
-rw-r--r--arch/i386/kernel/paravirt.c1
-rw-r--r--arch/i386/kernel/vmlinux.lds.S6
3 files changed, 0 insertions, 45 deletions
diff --git a/arch/i386/kernel/head.S b/arch/i386/kernel/head.S
index 9b10af65faaa..f74dfc419b56 100644
--- a/arch/i386/kernel/head.S
+++ b/arch/i386/kernel/head.S
@@ -71,12 +71,6 @@ INIT_MAP_BEYOND_END = BOOTBITMAP_SIZE + (PAGE_TABLE_SIZE + ALLOCATOR_SLOP)*PAGE_
71.section .text.head,"ax",@progbits 71.section .text.head,"ax",@progbits
72ENTRY(startup_32) 72ENTRY(startup_32)
73 73
74#ifdef CONFIG_PARAVIRT
75 movl %cs, %eax
76 testl $0x3, %eax
77 jnz startup_paravirt
78#endif
79
80/* 74/*
81 * Set segments to known values. 75 * Set segments to known values.
82 */ 76 */
@@ -501,38 +495,6 @@ ignore_int:
501 iret 495 iret
502 496
503.section .text 497.section .text
504#ifdef CONFIG_PARAVIRT
505startup_paravirt:
506 cld
507 movl $(init_thread_union+THREAD_SIZE),%esp
508
509 /* We take pains to preserve all the regs. */
510 pushl %edx
511 pushl %ecx
512 pushl %eax
513
514 pushl $__start_paravirtprobe
5151:
516 movl 0(%esp), %eax
517 cmpl $__stop_paravirtprobe, %eax
518 je unhandled_paravirt
519 pushl (%eax)
520 movl 8(%esp), %eax
521 call *(%esp)
522 popl %eax
523
524 movl 4(%esp), %eax
525 movl 8(%esp), %ecx
526 movl 12(%esp), %edx
527
528 addl $4, (%esp)
529 jmp 1b
530
531unhandled_paravirt:
532 /* Nothing wanted us: we're screwed. */
533 ud2
534#endif
535
536/* 498/*
537 * Real beginning of normal "text" segment 499 * Real beginning of normal "text" segment
538 */ 500 */
diff --git a/arch/i386/kernel/paravirt.c b/arch/i386/kernel/paravirt.c
index 5c10f376bce1..faab09abca5e 100644
--- a/arch/i386/kernel/paravirt.c
+++ b/arch/i386/kernel/paravirt.c
@@ -19,7 +19,6 @@
19#include <linux/module.h> 19#include <linux/module.h>
20#include <linux/efi.h> 20#include <linux/efi.h>
21#include <linux/bcd.h> 21#include <linux/bcd.h>
22#include <linux/start_kernel.h>
23#include <linux/highmem.h> 22#include <linux/highmem.h>
24 23
25#include <asm/bug.h> 24#include <asm/bug.h>
diff --git a/arch/i386/kernel/vmlinux.lds.S b/arch/i386/kernel/vmlinux.lds.S
index 23e8614edeee..80bec6640230 100644
--- a/arch/i386/kernel/vmlinux.lds.S
+++ b/arch/i386/kernel/vmlinux.lds.S
@@ -78,12 +78,6 @@ SECTIONS
78 CONSTRUCTORS 78 CONSTRUCTORS
79 } :data 79 } :data
80 80
81 .paravirtprobe : AT(ADDR(.paravirtprobe) - LOAD_OFFSET) {
82 __start_paravirtprobe = .;
83 *(.paravirtprobe)
84 __stop_paravirtprobe = .;
85 }
86
87 . = ALIGN(4096); 81 . = ALIGN(4096);
88 .data_nosave : AT(ADDR(.data_nosave) - LOAD_OFFSET) { 82 .data_nosave : AT(ADDR(.data_nosave) - LOAD_OFFSET) {
89 __nosave_begin = .; 83 __nosave_begin = .;