Messages in this thread | | | Date | Mon, 23 Feb 2004 14:30:56 +0000 | From | Jamie Lokier <> | Subject | Re: [PATCH] Re: BOOT_CS |
| |
Coywolf Qi Hunt wrote: > >It's to flush the instruction prefetch queue: that's one of the side > >effects of ljmp. > > Re-loading %cs and flushing prefetch queue are two different things.
Yes, they are.
> FYI, intel's example code located in STARTUP.ASM Listing arround line > 180, chapter 9, IA-32 Intel Architecture Software Developer's Manual, > Volume 3: System Programming Guide
Thanks.
> Please consider my patch for this issue.
I don't have the ability to look at that manual right now.
Your patch uses two instructions to flush the queue (push+ret) instead of one (jmp or ljmp). Is that documented as reliable? I can easily imagine an implementation which decodes one instruction after a mode change predictably, but not two.
I doubt that it makes a difference - we're setting PG, not changing the instruction format - but I'd like us to be sure it cannot fail on things like 386s and 486s, and similar non-Intel chips.
-- Jamie - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |