Re: [Lguest] [PATCH 3/16] read/write_crX, clts and wbinvd for 64-bit paravirt

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Zachary Amsden
Date: Thursday, November 1, 2007 - 9:55 am

On Thu, 2007-11-01 at 10:41 -0700, Jeremy Fitzhardinge wrote:

I understood it as reordering was permitted, but no re-ordering across
another volatile load, store, or asm was permitted.  And of course, as
long as input and output constraints are written properly, the
re-ordering should not be vulnerable to pathological movement causing
the code to malfunction.

It seems that CPU state side effects which can't be expressed in C need
special care - FPU is certainly one example.

Also, memory clobber on a volatile asm should stop invalid movement
across TLB flushes and other problems areas.  Even memory fences should
have memory clobber in order to stop movement of loads and stores across
the fence by the compiler.

Zach

-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 0/7] (Re-)introducing pvops for x86_64 - Real pvops ..., Glauber de Oliveira ..., (Wed Oct 31, 12:14 pm)
[PATCH 1/16] Wipe out traditional opt from x86_64 Makefile, Glauber de Oliveira ..., (Wed Oct 31, 12:14 pm)
[PATCH 2/16] paravirt hooks at entry functions., Glauber de Oliveira ..., (Wed Oct 31, 12:14 pm)
[PATCH 3/16] read/write_crX, clts and wbinvd for 64-bit pa ..., Glauber de Oliveira ..., (Wed Oct 31, 12:14 pm)
[PATCH 4/16] provide native irq initialization function, Glauber de Oliveira ..., (Wed Oct 31, 12:14 pm)
[PATCH 5/16] report ring kernel is running without paravirt, Glauber de Oliveira ..., (Wed Oct 31, 12:14 pm)
[PATCH 6/16] export math_state_restore, Glauber de Oliveira ..., (Wed Oct 31, 12:14 pm)
[PATCH 7/16] native versions for set pagetables, Glauber de Oliveira ..., (Wed Oct 31, 12:14 pm)
[PATCH 8/16] add native functions for descriptors handling, Glauber de Oliveira ..., (Wed Oct 31, 12:14 pm)
[PATCH 9/16] This patch add provisions for time related fu ..., Glauber de Oliveira ..., (Wed Oct 31, 12:14 pm)
[PATCH 10/16] export cpu_gdt_descr, Glauber de Oliveira ..., (Wed Oct 31, 12:14 pm)
[PATCH 11/16] turn priviled operation into a macro in head ..., Glauber de Oliveira ..., (Wed Oct 31, 12:14 pm)
[PATCH 12/16] tweak io_64.h for paravirt., Glauber de Oliveira ..., (Wed Oct 31, 12:14 pm)
[PATCH 13/16] native versions for page table entries values, Glauber de Oliveira ..., (Wed Oct 31, 12:14 pm)
[PATCH 14/16] prepare x86_64 architecture initialization f ..., Glauber de Oliveira ..., (Wed Oct 31, 12:14 pm)
[PATCH 15/16] consolidation of paravirt for 32 and 64 bits, Glauber de Oliveira ..., (Wed Oct 31, 12:15 pm)
[PATCH 16/16] make vsmp a paravirt client, Glauber de Oliveira ..., (Wed Oct 31, 12:15 pm)
Re: [PATCH 16/16] make vsmp a paravirt client, Jeremy Fitzhardinge, (Wed Oct 31, 9:38 pm)
Re: [PATCH 3/16] read/write_crX, clts and wbinvd for 64-bi ..., Jeremy Fitzhardinge, (Wed Oct 31, 9:48 pm)
Re: [PATCH 11/16] turn priviled operation into a macro in ..., Jeremy Fitzhardinge, (Wed Oct 31, 9:50 pm)
Re: [PATCH 3/16] read/write_crX, clts and wbinvd for 64-bi ..., Glauber de Oliveira ..., (Thu Nov 1, 6:48 am)
Re: [PATCH 11/16] turn priviled operation into a macro in ..., Glauber de Oliveira ..., (Thu Nov 1, 6:50 am)
Re: [PATCH 3/16] read/write_crX, clts and wbinvd for 64-bi ..., Jeremy Fitzhardinge, (Thu Nov 1, 8:30 am)
Re: [PATCH 3/16] read/write_crX, clts and wbinvd for 64-bi ..., Glauber de Oliveira ..., (Thu Nov 1, 9:13 am)
Re: [Lguest] [PATCH 3/16] read/write_crX, clts and wbinvd ..., Zachary Amsden, (Thu Nov 1, 9:55 am)
Re: [PATCH 3/16] read/write_crX, clts and wbinvd for 64-bi ..., Jeremy Fitzhardinge, (Thu Nov 1, 10:41 am)
Re: [Lguest] [PATCH 3/16] read/write_crX, clts and wbinvd ..., Jeremy Fitzhardinge, (Thu Nov 1, 6:21 pm)