2012-05-10 3 views
0

Я вижу только x86 определить TARGET_HAS_PRECISE_SMC (цель-i386/cpu.h) и комментарий говорит,Что означает TARGET_HAS_PRECISE_SMC?

/* support for self modifying code even if the modified instruction is 
    close to the modifying instruction */ 
#define TARGET_HAS_PRECISE_SMC 

Я хотел бы знать, что это значит, и хотите узнать больше об этом, но прибегая к помощи не помогает. Не могли бы вы пролить свет на это? Благодарю.

ответ

0

IIRC, некоторые процессоры, которые не поддерживают когерентность кэширования, если код изменен в одной и той же странице или блоке кэша и заставит процессор выполнить исходную инструкцию вместо новой инструкции.

Процессоры с таким же поведением имели бы это undefined.

+0

Довольно то же, что я получил от QEMU ML [Что означает TARGET_HAS_PRECISE_SMC?] (Http://lists.gnu.org/archive/html/qemu-devel/2012-05/msg01407.html). Этот макрос специфичен для архитектур, которые поддерживают когерентность кэширования, например, x86. – chenwj