On 8/21/06, malc wrote: > > On Mon, 21 Aug 2006, Igor Kovalenko wrote: > > > On 8/19/06, Paul Brook wrote: > >> > >> On Saturday 19 August 2006 00:40, Igor Kovalenko wrote: > >> > Hi! > >> > > >> > This patch adds handling of multi-byte NOPs, recent gcc/gas uses them > >> for > >> > x86 code padding. > >> > Patch checked with current opensuse-factory x86 guest installation > which > >> is > >> > built with new gcc/gas tools. > >> > >> According to my amd64 documentation all of the opcodes 0f 19 through 0f > 1f > >> should be implemented as a NOP. Also, I suspect the "invalid" prefetch > ops > >> (0f 18) should also be implemented as nops. > >> The same implementation should be useable to all these opcodes. > >> > >> > > Updated patch, extracted noop modrm processing into separate function > and > > used it for 0f 18 case as well. I also removed reg sense from noop > > processing. > > Case labels in your `switch (mod)' statement are incorrect. I guess you > wanted 0x to behave like 0b, while it works for 0 and 1, for everything > else it's way of. > Right. Here is the real one with correct case labels. -- Kind Regards, Igor V. Kovalenko