[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Re: [PATCH 05/16] xen mtrr: Add mtrr_ops support for Xen mtrr



On Tue, 12 May 2009, Jeremy Fitzhardinge wrote:
>       if (cpu_has_mtrr) {
>               mtrr_if = &generic_mtrr_ops;
> +#ifdef CONFIG_XEN_DOM0
> +             xen_init_mtrr();
> +#endif
> +

  No #ifdefs please. Also isn't there some common place where Xen can
  do all of it's magic extra init ?

  Aside of that this patch needs to be split into two. One adding the
  num_var_ranges op and one adding the Xen bits.

> +#include <xen/interface/platform.h>
> +#include <asm/xen/hypervisor.h>
> +#include <asm/xen/hypercall.h>
> +
> +static int __init xen_num_var_ranges(void);

  Can we move the function here please ?

> +/* DOM0 TODO: Need to fill in the remaining mtrr methods to have full
> + * working userland mtrr support. */
> +static struct mtrr_ops xen_mtrr_ops = {
> +     .vendor            = X86_VENDOR_UNKNOWN,
> +     .get_free_region   = generic_get_free_region,
> +     .have_wrcomb       = positive_have_wrcomb,
> +     .use_intel_if      = 0,
> +     .num_var_ranges    = xen_num_var_ranges,
> +};
> +
> +static int __init xen_num_var_ranges(void)
> +{
> +     int ranges;
> +     struct xen_platform_op op;
> +
> +     for (ranges = 0; ; ranges++) {
> +             op.cmd = XENPF_read_memtype;

  Is op.cmd changed in the hypervisor call ?

> +             op.u.read_memtype.reg = ranges;
> +             if (HYPERVISOR_dom0_op(&op) != 0)
> +                     break;
> +     }
> +     return ranges;
> +}
> +
> +void __init xen_init_mtrr(void)
> +{
> +     struct cpuinfo_x86 *c = &boot_cpu_data;
> +
> +     if (!xen_initial_domain())
> +             return;
> +
> +     if ((!cpu_has(c, X86_FEATURE_MTRR)) &&

  cpu_has_mtrr ..... please 

> +         (!cpu_has(c, X86_FEATURE_K6_MTRR)) &&
> +         (!cpu_has(c, X86_FEATURE_CYRIX_ARR)) &&
> +         (!cpu_has(c, X86_FEATURE_CENTAUR_MCR)))
> +             return;

Thanks,

        tglx

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.