https://bugzilla.novell.com/show_bug.cgi?id=228344 bk@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #109606|0 |1 is obsolete| | ------- Comment #32 from bk@novell.com 2007-02-21 11:09 MST ------- Created an attachment (id=120361) --> (https://bugzilla.novell.com/attachment.cgi?id=120361&action=view) roof of concept for fixing save/restore/sync of extended fixed-range MTRRs on AMD64 This is the extracted patch, but it is only a proof of concept. It works on my the Ferrari 1000 and should to "the right thing"(tm), IMHO. It's ready for review, but needs more changes, e.g. it would not be accepted into mainline in this state because it accesses the possibly K8-specific SYSCFG MSR directly, but I don't know if this MSR is even there on the Intel 64 CPUs. Maybe AMD knows wether it is, but I have not found it described in the Intel 64 and IA-32 programmer's manual. In any case these accesses would need to be encapsulated to only be done on x86_64 or even only on AMD64 (K8) CPUs. Otherwise it could be used now and works fine. I also verifified the MTRR state to be sure that not only suspend2disk works but that the MTRRs are indeed in SYNC. Preferably set_fixed_ranges() should be rewritten to use a new function called update_fixed_range which handles the reoccurring code of reading an MSR, checking if it needs update and updating it if needed, with status returned. That would reduce the code size while adding the support for AMD64 extended fixed range MTRRs. I could do so as well, but I first wanted to show what I did in essence, and when we know how to draft it finally, I can do it of course. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.