Index: 2006-01-05/arch/x86_64/kernel/setup-xen.c =================================================================== --- 2006-01-05.orig/arch/x86_64/kernel/setup-xen.c 2006-01-05 13:09:31.220361040 +0100 +++ 2006-01-05/arch/x86_64/kernel/setup-xen.c 2006-01-05 16:42:59.659182368 +0100 @@ -112,9 +112,7 @@ int __initdata acpi_force = 0; int acpi_numa __initdata; /* Boot loader ID as an integer, for the benefit of proc_dointvec */ -int bootloader_type; - -unsigned long saved_video_mode; +int bootloader_type = 0x4e4558; /* XXX get proper XEN boot loader ID */ #ifdef CONFIG_SWIOTLB int swiotlb; @@ -124,17 +122,24 @@ EXPORT_SYMBOL(swiotlb); /* * Setup options */ +#ifdef DRIVE_INFO struct drive_info_struct { char dummy[32]; } drive_info; +#endif struct screen_info screen_info; struct sys_desc_table_struct { unsigned short length; unsigned char table[0]; }; +#ifdef EDID_INFO struct edid_info edid_info; +#endif struct e820map e820; extern int root_mountflags; +#ifndef MOUNT_ROOT_RDONLY +#define MOUNT_ROOT_RDONLY 1 +#endif char command_line[COMMAND_LINE_SIZE]; @@ -544,29 +549,6 @@ static int __init noreplacement_setup(ch __setup("noreplacement", noreplacement_setup); -#if defined(CONFIG_EDD) || defined(CONFIG_EDD_MODULE) -struct edd edd; -#ifdef CONFIG_EDD_MODULE -EXPORT_SYMBOL(edd); -#endif -/** - * copy_edd() - Copy the BIOS EDD information - * from boot_params into a safe place. - * - */ -static inline void copy_edd(void) -{ - memcpy(edd.mbr_signature, EDD_MBR_SIGNATURE, sizeof(edd.mbr_signature)); - memcpy(edd.edd_info, EDD_BUF, sizeof(edd.edd_info)); - edd.mbr_signature_nr = EDD_MBR_SIG_NR; - edd.edd_info_nr = EDD_NR; -} -#else -static inline void copy_edd(void) -{ -} -#endif - #ifndef CONFIG_XEN #define EBDA_ADDR_POINTER 0x40E static void __init reserve_ebda_region(void) @@ -587,13 +569,14 @@ void __init setup_arch(char **cmdline_p) { unsigned long kernel_end; -#ifdef CONFIG_XEN ROOT_DEV = MKDEV(RAMDISK_MAJOR,0); +#ifdef DRIVE_INFO drive_info = DRIVE_INFO; +#endif kernel_end = 0; /* dummy */ -#ifdef CONFIG_XEN_PHYSDEV_ACCESS - screen_info = SCREEN_INFO; - +#ifdef SCREEN_INFO + screen_info = SCREEN_INFO; +#elif defined(CONFIG_XEN_PHYSDEV_ACCESS) if (xen_start_info->flags & SIF_INITDOMAIN) { /* This is drawn from a dump from vgacon:startup in * standard Linux. */ @@ -603,43 +586,28 @@ void __init setup_arch(char **cmdline_p) screen_info.orig_video_cols = 80; screen_info.orig_video_ega_bx = 3; screen_info.orig_video_points = 16; - } else - screen_info.orig_video_isVGA = 0; -#else - screen_info.orig_video_isVGA = 0; + } #endif +#ifdef EDID_INFO edid_info = EDID_INFO; +#endif +#ifdef SAVED_VIDEO_MODE saved_video_mode = SAVED_VIDEO_MODE; +#endif +#ifdef LOADER_TYPE bootloader_type = LOADER_TYPE; +#endif -#ifdef CONFIG_BLK_DEV_RAM +#if defined(CONFIG_BLK_DEV_RAM) && defined(RAMDISK_FLAGS) rd_image_start = RAMDISK_FLAGS & RAMDISK_IMAGE_START_MASK; rd_prompt = ((RAMDISK_FLAGS & RAMDISK_PROMPT_FLAG) != 0); rd_doload = ((RAMDISK_FLAGS & RAMDISK_LOAD_FLAG) != 0); - - #endif HYPERVISOR_vm_assist(VMASST_CMD_enable, VMASST_TYPE_writable_pagetables); - ARCH_SETUP -#else - ROOT_DEV = old_decode_dev(ORIG_ROOT_DEV); - drive_info = DRIVE_INFO; - screen_info = SCREEN_INFO; - edid_info = EDID_INFO; - saved_video_mode = SAVED_VIDEO_MODE; - bootloader_type = LOADER_TYPE; - -#ifdef CONFIG_BLK_DEV_RAM - rd_image_start = RAMDISK_FLAGS & RAMDISK_IMAGE_START_MASK; - rd_prompt = ((RAMDISK_FLAGS & RAMDISK_PROMPT_FLAG) != 0); - rd_doload = ((RAMDISK_FLAGS & RAMDISK_LOAD_FLAG) != 0); -#endif - setup_memory_region(); - copy_edd(); -#endif /* !CONFIG_XEN */ + ARCH_SETUP if (!MOUNT_ROOT_RDONLY) root_mountflags &= ~MS_RDONLY; Index: 2006-01-05/arch/x86_64/kernel/setup64-xen.c =================================================================== --- 2006-01-05.orig/arch/x86_64/kernel/setup64-xen.c 2005-12-16 15:38:28.000000000 +0100 +++ 2006-01-05/arch/x86_64/kernel/setup64-xen.c 2006-01-05 13:14:04.568805760 +0100 @@ -33,8 +33,6 @@ #include #endif -char x86_boot_params[BOOT_PARAM_SIZE] __initdata = {0,}; - cpumask_t cpu_initialized __cpuinitdata = CPU_MASK_NONE; struct x8664_pda cpu_pda[NR_CPUS] __cacheline_aligned; Index: 2006-01-05/arch/x86_64/kernel/x8664_ksyms-xen.c =================================================================== --- 2006-01-05.orig/arch/x86_64/kernel/x8664_ksyms-xen.c 2006-01-05 11:58:49.559191552 +0100 +++ 2006-01-05/arch/x86_64/kernel/x8664_ksyms-xen.c 2006-01-05 16:43:44.965294792 +0100 @@ -40,11 +40,6 @@ extern void __write_lock_failed(rwlock_t extern void __read_lock_failed(rwlock_t *rw); #endif -#if defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_HD) || defined(CONFIG_BLK_DEV_IDE_MODULE) || defined(CONFIG_BLK_DEV_HD_MODULE) -extern struct drive_info_struct drive_info; -EXPORT_SYMBOL(drive_info); -#endif - extern unsigned long get_cmos_time(void); /* platform dependent support */