aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/lguest/boot.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/lguest/boot.c')
-rw-r--r--arch/x86/lguest/boot.c17
1 files changed, 1 insertions, 16 deletions
diff --git a/arch/x86/lguest/boot.c b/arch/x86/lguest/boot.c
index 495e46a1f111..d2235db4085f 100644
--- a/arch/x86/lguest/boot.c
+++ b/arch/x86/lguest/boot.c
@@ -928,18 +928,8 @@ static unsigned lguest_patch(u8 type, u16 clobber, void *ibuf,
928/*G:030 Once we get to lguest_init(), we know we're a Guest. The pv_ops 928/*G:030 Once we get to lguest_init(), we know we're a Guest. The pv_ops
929 * structures in the kernel provide points for (almost) every routine we have 929 * structures in the kernel provide points for (almost) every routine we have
930 * to override to avoid privileged instructions. */ 930 * to override to avoid privileged instructions. */
931__init void lguest_init(void *boot) 931__init void lguest_init(void)
932{ 932{
933 /* Copy boot parameters first: the Launcher put the physical location
934 * in %esi, and head.S converted that to a virtual address and handed
935 * it to us. We use "__memcpy" because "memcpy" sometimes tries to do
936 * tricky things to go faster, and we're not ready for that. */
937 __memcpy(&boot_params, boot, PARAM_SIZE);
938 /* The boot parameters also tell us where the command-line is: save
939 * that, too. */
940 __memcpy(boot_command_line, __va(boot_params.hdr.cmd_line_ptr),
941 COMMAND_LINE_SIZE);
942
943 /* We're under lguest, paravirt is enabled, and we're running at 933 /* We're under lguest, paravirt is enabled, and we're running at
944 * privilege level 1, not 0 as normal. */ 934 * privilege level 1, not 0 as normal. */
945 pv_info.name = "lguest"; 935 pv_info.name = "lguest";
@@ -1024,11 +1014,6 @@ __init void lguest_init(void *boot)
1024 * the normal data segment to get through booting. */ 1014 * the normal data segment to get through booting. */
1025 asm volatile ("mov %0, %%fs" : : "r" (__KERNEL_DS) : "memory"); 1015 asm volatile ("mov %0, %%fs" : : "r" (__KERNEL_DS) : "memory");
1026 1016
1027 /* Clear the part of the kernel data which is expected to be zero.
1028 * Normally it will be anyway, but if we're loading from a bzImage with
1029 * CONFIG_RELOCATALE=y, the relocations will be sitting here. */
1030 memset(__bss_start, 0, __bss_stop - __bss_start);
1031
1032 /* The Host uses the top of the Guest's virtual address space for the 1017 /* The Host uses the top of the Guest's virtual address space for the
1033 * Host<->Guest Switcher, and it tells us how much it needs in 1018 * Host<->Guest Switcher, and it tells us how much it needs in
1034 * lguest_data.reserve_mem, set up on the LGUEST_INIT hypercall. */ 1019 * lguest_data.reserve_mem, set up on the LGUEST_INIT hypercall. */