Commit bea9baec authored by Anton Burtsev's avatar Anton Burtsev Committed by Vikram Narayanan
Browse files

Early attempt to add LCD_GUEST arch

parent 07f42b10
......@@ -99,6 +99,10 @@ ID
*.orig
*~
\#*#
*.vpw
*.vpj
*.vtg
*.vpwhistu
#
# Leavings from module signing
......
......@@ -13,6 +13,10 @@ obj-$(CONFIG_LGUEST_GUEST) += lguest/
# LCD support
obj-$(CONFIG_LCD) += lcd/
# LCD paravirtualization support
obj-$(CONFIG_LCD_GUEST) += lcdguest/
obj-y += realmode/
obj-y += kernel/
obj-y += mm/
......
......@@ -490,6 +490,8 @@ ENTRY(phys_base)
.quad 0x0000000000000000
#include "../../x86/xen/xen-head.S"
#include "../../x86/lcd/lcd-head.S"
__PAGE_ALIGNED_BSS
NEXT_PAGE(empty_zero_page)
......
config LCD_GUEST
bool "LCD guest (paravirtual Linux on LCD) support"
depends on X86_64
help
Selecting this will allow your kernel to boot under lcd.
# Make sure early boot has no stackprotector
nostackp := $(call cc-option, -fno-stack-protector)
CFLAGS_enlighten.o := $(nostackp)
obj-y := enlighten.o
/*
* Core of LCD paravirt_ops implementation.
*
* Anton Burtsev <aburtsev@flux.utah.edu>, University of Utah 2014
*/
/* First C function to be called on Xen boot */
asmlinkage void __init lcd_start_kernel(void)
{
return;
}
/* LCD-specific pieces of head.S, intended to be included in the right
place in head.S */
#ifdef CONFIG_LCD_GUEST
#include <linux/elfnote.h>
#include <linux/init.h>
#include <asm/boot.h>
#include <asm/asm.h>
#include <asm/page_types.h>
#include <xen/interface/elfnote.h>
#include <asm/xen/interface.h>
__INIT
ENTRY(startup_lcd)
cld
/*
#ifdef CONFIG_X86_32
mov %esi,xen_start_info
mov $init_thread_union+THREAD_SIZE,%esp
#else
mov %rsi,xen_start_info
mov $init_thread_union+THREAD_SIZE,%rsp
#endif*/
jmp lcd_start_kernel
__FINIT
ELFNOTE(LCD, LCD_ELFNOTE_ENTRY, _ASM_PTR startup_lcd)
#endif /*CONFIG_LCD_GUEST */
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment