Re: [PATCH 23/25] [PATCH] paravirt hooks for arch initialization

From: Andi Kleen
Date: Wed Aug 08 2007 - 06:02:34 EST



> -static void discover_ebda(void)
> +void native_ebda_info(unsigned *addr, unsigned *size)

I guess it would be better to use the resources frame work here.
Before checking EBDA check if it is already reserved. Then lguest/Xen
can reserve these areas and stop using it.


> +/* Overridden in paravirt.c if CONFIG_PARAVIRT */
> +void __attribute__((weak)) memory_setup(void)
> +{
> + return setup_memory_region();
> +}
> +
> +
> void __init setup_arch(char **cmdline_p)
> {
> printk(KERN_INFO "Command line: %s\n", boot_command_line);
> @@ -231,12 +255,19 @@ void __init setup_arch(char **cmdline_p)
> saved_video_mode = SAVED_VIDEO_MODE;
> bootloader_type = LOADER_TYPE;
>
> + /*
> + * By returning non-zero here, a paravirt impl can choose to
> + * skip the rest of the setup process
> + */
> + if (paravirt_arch_setup())
> + return;

Sorry, but that's an extremly ugly and clumpsy interface and will lead
to extensive code duplication in hypervisors because so much code
is disabled.

This needs to be solved in some better way.


-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/