Index: 2005-12-16/arch/i386/kernel/setup-xen.c =================================================================== --- 2005-12-16.orig/arch/i386/kernel/setup-xen.c 2005-12-22 15:26:06.000000000 +0100 +++ 2005-12-16/arch/i386/kernel/setup-xen.c 2005-12-22 15:53:54.000000000 +0100 @@ -124,7 +124,7 @@ EXPORT_SYMBOL(pci_mem_start); #endif /* Boot loader ID as an integer, for the benefit of proc_dointvec */ -int bootloader_type; +int bootloader_type = 0x4e4558; /* XXX get proper XEN boot loader ID */ /* user-defined highmem size */ static unsigned int highmem_pages = -1; @@ -132,26 +132,34 @@ static unsigned int highmem_pages = -1; /* * Setup options */ +#ifdef DRIVE_INFO struct drive_info_struct { char dummy[32]; } drive_info; #if defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_HD) || \ defined(CONFIG_BLK_DEV_IDE_MODULE) || defined(CONFIG_BLK_DEV_HD_MODULE) EXPORT_SYMBOL(drive_info); #endif +#endif struct screen_info screen_info; EXPORT_SYMBOL(screen_info); +#ifdef APM_BIOS_INFO struct apm_info apm_info; EXPORT_SYMBOL(apm_info); +#endif struct sys_desc_table_struct { unsigned short length; unsigned char table[0]; }; +#ifdef EDID_INFO struct edid_info edid_info; EXPORT_SYMBOL_GPL(edid_info); +#endif +#ifdef IST_INFO struct ist_info ist_info; #if defined(CONFIG_X86_SPEEDSTEP_SMI) || \ defined(CONFIG_X86_SPEEDSTEP_SMI_MODULE) EXPORT_SYMBOL(ist_info); #endif +#endif struct e820map e820; extern void early_cpu_init(void); @@ -159,15 +167,15 @@ extern void dmi_scan_machine(void); extern void generic_apic_probe(char *); extern int root_mountflags; -unsigned long saved_videomode; - #define RAMDISK_IMAGE_START_MASK 0x07FF #define RAMDISK_PROMPT_FLAG 0x8000 #define RAMDISK_LOAD_FLAG 0x4000 -static char command_line[COMMAND_LINE_SIZE]; +#ifndef MOUNT_ROOT_RDONLY +#define MOUNT_ROOT_RDONLY 1 +#endif -unsigned char __initdata boot_params[PARAM_SIZE]; +static char command_line[COMMAND_LINE_SIZE]; static struct resource data_resource = { .name = "Kernel data", @@ -1597,15 +1605,6 @@ void __init alternative_instructions(voi static char * __init machine_specific_memory_setup(void); -#ifdef CONFIG_MCA -static void set_mca_bus(int x) -{ - MCA_bus = x; -} -#else -static void set_mca_bus(int x) { } -#endif - /* * Determine if we were loaded by an EFI loader. If so, then we have also been * passed the efi memmap, systab, etc., so we should use these data structures @@ -1650,19 +1649,6 @@ void __init setup_arch(char **cmdline_p) properly. Setting ROOT_DEV to default to /dev/ram0 breaks initrd. */ ROOT_DEV = MKDEV(UNNAMED_MAJOR,0); - drive_info = DRIVE_INFO; - screen_info = SCREEN_INFO; - edid_info = EDID_INFO; - apm_info.bios = APM_BIOS_INFO; - ist_info = IST_INFO; - saved_videomode = VIDEO_MODE; - if( SYS_DESC_TABLE.length != 0 ) { - set_mca_bus(SYS_DESC_TABLE.table[3] & 0x2); - machine_id = SYS_DESC_TABLE.table[0]; - machine_submodel_id = SYS_DESC_TABLE.table[1]; - BIOS_revision = SYS_DESC_TABLE.table[2]; - } - bootloader_type = LOADER_TYPE; #ifdef CONFIG_XEN_PHYSDEV_ACCESS if (xen_start_info->flags & SIF_INITDOMAIN) { @@ -1680,7 +1666,7 @@ void __init setup_arch(char **cmdline_p) screen_info.orig_video_isVGA = 0; #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); Index: 2005-12-16/drivers/video/fbmon.c =================================================================== --- 2005-12-16.orig/drivers/video/fbmon.c 2005-11-21 16:41:53.000000000 +0100 +++ 2005-12-16/drivers/video/fbmon.c 2005-12-22 15:45:50.000000000 +0100 @@ -1272,7 +1272,7 @@ int fb_validate_mode(const struct fb_var -EINVAL : 0; } -#if defined(__i386__) +#if defined(__i386__) && !defined(CONFIG_XEN) #include /* Index: 2005-12-16/drivers/ide/legacy/hd.c =================================================================== --- 2005-12-16.orig/drivers/ide/legacy/hd.c 2005-11-21 16:41:16.000000000 +0100 +++ 2005-12-16/drivers/ide/legacy/hd.c 2005-12-22 15:54:27.000000000 +0100 @@ -726,7 +726,7 @@ static int __init hd_init(void) device_timer.function = hd_times_out; blk_queue_hardsect_size(hd_queue, 512); -#ifdef __i386__ +#if defined(__i386__) && !defined(CONFIG_XEN) if (!NR_HD) { extern struct drive_info drive_info; unsigned char *BIOS = (unsigned char *) &drive_info; Index: 2005-12-16/arch/i386/kernel/cpu/cpufreq/Kconfig =================================================================== --- 2005-12-16.orig/arch/i386/kernel/cpu/cpufreq/Kconfig 2005-11-21 16:40:47.000000000 +0100 +++ 2005-12-16/arch/i386/kernel/cpu/cpufreq/Kconfig 2005-12-22 15:58:37.000000000 +0100 @@ -157,7 +157,7 @@ config X86_SPEEDSTEP_ICH config X86_SPEEDSTEP_SMI tristate "Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)" select CPU_FREQ_TABLE - depends on EXPERIMENTAL + depends on EXPERIMENTAL && !X86_XEN help This adds the CPUFreq driver for certain mobile Intel Pentium III (Coppermine), all mobile Intel Pentium III-M (Tualatin)