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

Re: [Xen-devel] deleting mtrrs in dom0




I thought the MTRRs have been set by the BIOS, not Xen.

Xen propagates the CPU0 MTRR values to all other CPUs. Not all BIOSes do that properly. Linux does the same, when it is booted natively.

The MTRRs are not set to my satisfaction, that's why I'd like to change
them.

Hmmm... can you try changing init_table() in arch/xen/i386/kernel/cpu/mtrr/main.c to initialise the usage_table counts to 1 instead of 0? I think that'll fix it for you and matches how native Linux initialises the table.

Obviously, Linux has code to do that -- under Xen it unfortunately
only sees a subset of the CPUs, though.

You need to lock out all other CPU activity while you reprogram MTRRs across all CPUs. Obviously Linux cannot do that unaided if Xen is running underneath it.

I think the current approach is the correct one, but I was probably trying to be too clever when defining the interface to Xen -- we'll probably end up dumbing it down, and only allow domain0 to do MTRR updates. We can always define an interface thru domain0 for other driver domains to declare memory types if we feel the need.

If you can check that modifying initialisation of usage_table[] fixes your problem, I'll do a cleanup and simplification of the MTRR code.

 -- Keir



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel


 


Rackspace

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