On Thu, Mar 10, 2016 at 09:45:46PM -0700, Toshi Kani wrote:
> MTRR manages PAT initialization as it implements a rendezvous
> handler that initializes PAT as part of MTRR initialization.
> 
> When CPU does not support MTRR, ex. qemu32 virtual CPU, MTRR
> simply skips PAT init, which causes PAT left enabled without
> initialization.  Also, get_mtrr_state() calls pat_init() on
> BSP even if MTRR is disabled by its MSR.  This causes pat_init()
> be called on BSP only.

So I don't understand what all this hoopla is all about: why can't you
simply call pat_disable() in mtrr_ap_init() and be done with it?

void mtrr_ap_init(void)
{
        if (!mtrr_enabled()) {
                pat_disable();
                return;
        }

?

-- 
Regards/Gruss,
    Boris.

ECO tip #101: Trim your mails when you reply.

Reply via email to